NTT技術ジャーナル記事

   

「NTT技術ジャーナル」編集部が注目した
最新トピックや特集インタビュー記事などをご覧いただけます。

PDFダウンロード

明日のトップランナー

「組合せ爆発」を乗り越える最先端アルゴリズム技術

近年、通信の高速化に伴って大量のデータを処理するアプリケーションの開発、利用が促進されています。それに伴い、高速かつ大量のデータ処理に対する社会的ニーズもより強まっています。そのような社会的な課題に対して、データをパターンによって圧縮して処理することで、データ処理を効率化して高速化するアルゴリズムを研究されている西野正彬特別研究員にお話を伺いました。

西野正彬
NTTコミュニケーション科学基礎研究所
特別研究員

PROFILE

2008年京都大学大学院情報学研究科知能情報学専攻修士課程修了。同年、日本電信電話株式会社に入社。2014年京都大学大学院情報学研究科知能情報学専攻博士課程修了。博士(情報学)。2020年から2023年の間、JSTさきがけ兼任。2017年情報処理学会 山下記念研究賞等を受賞。組合せを扱うアルゴリズム・データ構造とその応用、および機械学習の研究に従事。

コンピュータの能力を最大限発揮させる、「基本的なアルゴリズム」の効率化と高速化

■現在手掛けている研究について教えてください。

私はアルゴリズムの研究をしています。アルゴリズムの研究とは、コンピュータを用いて計算するときの計算方法を考える数学に近い演算をするものです。最近流行のAI(人工知能)を使用するとき、コンピュータの内部では大きな行列の掛け算や足し算などを延々と繰り返すことで、AIの機能が表現されています。アルゴリズムはアプリケーションごとに独自のものが使用されており、代表的なものでいえばコンピュータを用いて条件に沿って並び替えをする「ソートアルゴリズム」などがあります。その独自アルゴリズムとは別に“基本的なアルゴリズム”というものもあります。基本的なアルゴリズムとはアプリケーションなどの裏で計算をしている基礎部分で、四則演算をしたり数を数えたり、特定の組合せを見つける役割を担っています(図1)。
私はその基本的なアルゴリズムについて研究をしており、データをより効率良く扱うための改良や新しい考案を行っています。この基本的なアルゴリズムはアプリケーションなどコンピュータを利用する際に広く使われているため、ほんの少しでも改善されるだけで広範囲のパフォーマンス向上につながります。それがこのアルゴリズムの研究における魅力です。
もう1つの魅力としてアルゴリズムの研究は“効果が高い”ということがあります。半導体の改良などによりコンピュータの処理速度はすごいスピードで進化しています。最近発表された新しいノートPCでは、3〜4年前に発表したモデルと比べて処理が4倍も高速化したと謳われていました。しかし、アルゴリズムはそれ以上のスピードで進化しています。問題を解くための数ある計算方法の中から最良のアルゴリズムを使うとか、新たなアルゴリズムを開発することによって、数倍どころか数万倍も高速に問題が解けることもあります。それは今までなら数十年かかってしまうため解けなかった問題でも数日で計算が終わるという大きな進歩につながり、そこが基本的なアルゴリズムの研究における面白さの1つだと感じています。
さらに計算量の削減によりエネルギー消費を削減できるため、環境にも良い影響を与えます。近年ではAIの普及によりAIを稼働するときの大きな電力が問題とされており、環境負荷を低減させる必要性が世界的にも話題になっています。その点、私たちの研究は高速計算による効率化により電力を抑えられるため、環境負荷の問題も解決できるのではと考えています。

■アルゴリズムの研究を始めたきっかけを教えてください。

そもそも入社当時は、位置情報などの人の行動に関連するログデータを分析して、その人に役立つ情報を取り出すライフログの解析を行っていました。それが2008年ごろの話です。その後、入社して3〜4年目くらいに「データを小さくするアルゴリズムの研究があるんだけど面白そうじゃない? 調べてみない?」と上司に言われたことがきっかけで、アルゴリズムの研究を始めました。元からデータを集めて何かを見つけ出すという解析をしていたので、膨大な組合せのデータを小さくしてから何かを探したり取り出したりする研究があるのなら、ライフログのデータにも使えるのでは、と考えたのです。実際にこの研究をしてみると、とても基礎的な部分であり、それを応用的な問題で使うと今までできなかったことができる実用的なものでした。今ではこの研究がとても魅力的かつ世の中に重要なことだと考えています。

■研究チームについても教えてください。

アルゴリズムは汎用性が高く、多くの場面で活用できるため研究が細分化されています。決定グラフを研究している人や、それを回路の設計で使う人もいればAIで活用する人もいますし、オペレーションリサーチという最適化の技術で研究したり、それぞれの研究を進めながら新しい技術を開発しています。私のいる部署でもアルゴリズムの専門家がいますが、構造をつくる人や決定グラフの改良化の研究、アルゴリズムをどのくらい汎用的に活用できるのかを理論化して解析する研究など、さまざまです。それ以外にも企業として何か貢献できるように、ほかの応用問題に持っていって活用するチームもありますし、社内に限らず研究パートナーを探して連携することも大切にして進めています。

「組合せ爆発」を乗り越える新たなアルゴリズム技術

■ご自身の研究ならではの強みを教えてください。

私は膨大な量の組合せ計算を効率的に解くという「組合せ」のアルゴリズムを研究しています。10個あるお菓子の中から3個を選ぶ、という程度なら、組合せパターンはさほど多くありませんが、100個や1000個から3個選ぶとなると組合せ数はどんどん増えていき「組合せ爆発」や「指数的爆発」とよばれる問題が発生します。そうした膨大な組合せから最適なものを探したり、条件に合う組合せが何種類あるかを調べたりする場面で活用できるようなアルゴリズムの研究です。NTTの主要設備であるネットワークの設計の場面でも組合せが関連してきます。ビルと家をつなぐ故障に強いネットワークの構造パターンを考え、予算の範囲内で最適な構造を見つけるときなど複雑化する条件が与えられたとき、組合せ爆発や指数爆発が発生します。その際の組合せ爆発を避けるため、私たちの計算の効率化や高速化の研究が必要になります。
私の研究は複数の組合せの中から類似した組合せを見つけ出し、それを網羅的にまとめて全体をリサイズするもので、それを“圧縮する”と呼んでいます。全体を圧縮する際にデータを捨てることもなく、データベースのようにして活用できるため組合せの性質が理解できたり、別の複雑な問題を解くこともできます。さらに、小さく圧縮された状態で計算すると計算の効率化や高速化も実現できます。このように、私の研究は一般的な「計算を端折る手法」よりも正確な答えを見つけられるのも大きな特徴です(図2)。

圧縮により数万倍の高速化を実現

アルゴリズムは指定された条件に合うものを計算機にいかに早く解かせるかという分野でもあります。そもそも、圧縮すること自体が難しい問題なのですが、私たちは圧縮する工程をものすごく効率化させることに成功し、「圧縮して解く」という新たな計算方法で高速化を実現させました。実際に敷き詰め問題といわれるもので測定したところ、既存法では使えなかったものが使えるようになり、190通りの解の計算が16475秒から0.88秒まで短縮できました(図3)。
今回は8×8マスを使用しましたが、マスの量が多くなるほど組合せも膨大になり、時間の乖離が開いていきますし、条件を足せば足すほど問題も増えてきます。そこに対して圧縮の技術をどのように活かせるのかを考えながら研究を進めています。

AIの制御など、広い場面での活用をめざす

■この研究の成果や、これからの展望を教えてください。

アルゴリズムというのは実用的に使われることも大事ですが、アカデミア(大学や理化学研究所や国立研究開発法人など公的な研究機関)的にも、国際的に認めてもらうのも価値の1つです。その点でいうと世界的に有名な「The Art of Computer Programming(TAOCP)」というプログラミングやアルゴリズムの専門的な教科書に、私たちの組合せのアルゴリズムを何ページにもわたって紹介してもらいました。その後、日本語版でも私のアルゴリズムに関する研究を紹介してもらえたことは、基礎研究として貢献ができていたのかなと実感できる出来事でした(図4)。また、私たちのアルゴリズムを応用することも進めており、その研究が各分野の論文誌に掲載され、学術的にも面白いことをやっていると認められたのではないかと思います。
この研究は時代に左右されない普遍的な問題の研究ですので、今後も基本的な部分を深めていくことが必要だと思っています。どこまで高速に小さく表現できるのか、それを使ってどのような問題が解決できるのかなど、まだまだやることがあります。また、応用の面でも私たちのアルゴリズムは広い場面で使えるのではと考えています。例えばAIなどの機械学習に何か質問を入力すると出力が返ってきますが、その答えの根拠が不明な場合や、有害な回答が返ってくることがあります。便利な反面、近年では危険性についても問題視され、AIを制御するシステムが必要ではないかと世界的にいわれており。日本でもそのような研究に国の予算がついています。私たちも信頼されるAIの実現をめざし、仕様やルールを与えたときに、その仕様と出力をチェックして出力内容が適切か調べる仕組みの研究をしています(図5)。
この制御については言語の分野でも活用でき、LLM(Large Language Models)でも、AIが事実に基づかない情報を生成する現象であるハルシネーションが起きない仕様があれば、ある程度のコントロールができます。そのためにはルールを満たす最適な出力である必要があり、私たちの圧縮の技術が活かせると考えています。ハルシネーションが起きないことが分かれば、エンドユーザの方も安心してAIを使えますので、機械学習やルール、記号推論(論理式で表現された前提知識や仮定から論理的帰結を導き正しく決定することなど)を研究されている大学の先生方と協力し、安心して使えるAIの開発に注力しています。
また、この検証器つき機械学習を実用化するためには、ユーザごとにルールや仕様を変更できることも必要だと考えています。AIの開発はとてもコストがかるため学習モデルをつくれる場所は限られており、ユーザは開発を進めているビッグテックやNTTなど誰かがつくった既製品を使うことになります。そのときには独自の仕様やNGリストを設定し、設定どおりにコントロールして制御する技術は間違いなく需要があります。そのため私たちの検証器つきモデルでも、学習するモデルに仕様を追加したらどうなるのかという問題設定をして理論的に解析しています。
私は日ごろからいろいろな事象や何か問題が発生したとき、これは組合せの問題かな、こっちはグラフの問題なのでは、など無意識に探しているところがあります。機械学習とアルゴリズムを組み合わせることには、10年以上前から興味を持って調べていました。当時は信頼性の話なんて誰もしておらず、ただ動けば万々歳だったフェーズを超えて、世の中に使われるようになってきたことで、いよいよ保証が求められる時代になり昔から考えていた構想が現実味を帯びてきました。これは、自分の持っている技術が世の中に使えないかなという目で日ごろから見ているからこそ、始められたプロジェクトだと思っています。

■研究における課題やポイント、解決すべき問題を教えてください。

研究を始めるときは、なかなかうまくいかないものです。アルゴリズムの研究も最初のころは、少し進んでは落とし穴に落ちることを繰り返しており、なかなか進まないなと感じていました。圧縮が効くだろうと思っていたものがうまくいかず、処理スピードが上がらなかったということも多々ありました。しかし、その落とし穴に落ち続けるうちに、データの性質を見極めたアルゴリズムの設計ができるようになりました。
また、別の分野に踏み出すたびにその分野を勉強する必要も出てきます。そこでもやはり落とし穴に落ちたりするもので、これはすでに世の中に出ているのではないか、これは本当に論文に書いて認められるのか、などが判断できず試行錯誤することは、最近の新しい研究でもあったことです。数をこなせば慣れるものですが、何事も初期は大変だなと感じました。
そのほかにも、アルゴリズム以外のことに関しては専門家の方に話を聞き、目利きしてもらい、見極めてもらうことも大切です。反対に、アルゴリズムでは解決できないだろうと思われていた問題を解決できたりするものなので、お互い認識の擦り合わせをしながら、新しい何かを開発していくものだと思います。

■最後に学生や若き研究者、ビジネスパートナーの方々へメッセージをお願いします。

ビジネスパートナーや大学の先生方にはいつも本当に助けていただいています。一緒に研究していただけることで私たちの研究は成り立っていますので、感謝しかありません。今後もお付き合いいただき、ともに研究を進めていければと思っています。
学生や若き研究者の皆さんは研究発表を聞く機会がたくさんあると思います。発表はなんとなく聞くこともできますが、私は必ず質問するように心掛けています。何か気になったから質問するのではなく、“最初から質問するつもりで話を聞くこと”がポイントで、この習慣が今の研究に活きています。相手の話を理解しなければ、おかしなところや面白いところなども見えてきません。質問する意識を持つと集中力は自然に高まりますし、自分だったらこうするだろう、きっとこういう理由でやらなかったのだろうな、など想像ができるようにもなります。もし良い質問ができれば、ほかの方の気付きにつながったり、場の雰囲気が盛り上がるということもありますし、発表者も興味を持って質問されるのは嬉しいものです。意識的に質問する習慣がつけば、皆さんの研究にもいずれ活きてくると思います。
NTTにはさまざまな分野のとても優秀な研究者の方々がたくさんいます。同じチームの方は学生時代からアルゴリズムの研究をされていたので地力があり、そのような優秀な方と意見交換しながら仕事ができるのはNTTで研究する魅力の1つですし、研究に対して理解があるので非常にやりやすい環境です。ほかにもNTTデータ数理システムと連携してアルゴリズムの実装をしていますが、同じグループだからこそ連携の話が進むのが早かったこともあります。NTTデータ数理システムはAIや数理最適化などに関する高い技術を持つことで知られている会社なので、そういった会社とグループ会社になりスムーズに連携が取れたのはNTTならではだと思っています。

DOI
クリップボードにコピーしました