• 19/08/2022
  • Homesmartjp
  • 1178 ビュー

ディープラーニングを支える技術 ——「正解」を導くメカニズム[技術基礎]

『ディープラーニングを支える技術 ――「正解」を導くメカニズム[技術基礎⁠]⁠』より転載

本書は,「⁠ディープラーニング」の基本となる考え方から最新の発展までを,そのしくみや原理に従ってまとめた技術解説書です。

ディープラーニングは現在の「人工知能」(⁠AI)の発展の中核を担っており,さまざまなアプリケーションやサービスを通じて実用化が進むとともに,将来の人工知能の発展において重要な技術として研究開発が進められています。たとえば,ディープラーニングは画像認識や音声認識,自然言語処理(機械翻訳,質問応答⁠)⁠,ロボティクス,自動運転,材料探索,創薬,異常検知,最適化,プログラミング支援など,幅広い分野で大きな成果を挙げています。

人工知能の中でもデータから知識やルールを獲得するのが「機械学習」であり,機械学習の中でも層数が多く幅の広い「ニューラルネットワーク」と呼ばれるモデルを使うアプローチが「ディープラーニング」です。

ニューラルネットワークは単純な関数を大量に組み合わせていくことで複雑な関数を表現し,その実体は「関数の塊」のようなものです。各関数はパラメータで特徴づけられており,パラメータを変えることで挙動を変えることができます。そして,ニューラルネットワークは目的のタスクをこなせるよう,膨大な数のパラメータを局所的な相互作用の情報を元に効率的に調整するしくみ,いわゆる誤差逆伝播法を備えています。これによって,ニューラルネットワークは同じモデルを使って実にさまざまな問題を扱うことができます。

ディープラーニングは,データや問題の表現方法/特徴を学習するという「表現学習」を実現することで,これまでの機械学習にないような高い性能と柔軟性を兼ね備えています。

ディープラーニングの利用環境は,日々整ってきています。ディープラーニングフレームワークを使った開発環境や学習済みモデルなどが整備されることで,すぐに簡単に試せる/使えるようになってきました。

 ディープラーニングを支える技術 ——「正解」を導くメカニズム[技術基礎]

一方で,実際にディープラーニングを現実世界の問題に適用しようとするとさまざまな事態に遭遇することがあります。そうした場合に,機械学習やディープラーニングのしくみやその原理について理解していることで,問題を的確に把握し,それを解決したり回避したりすることができます。

すでに本書以外でもディープラーニングを扱っている文献は,多く登場しています。そうした文献と比べると,本書は次のような特徴があります。

一つめは,本書はさまざまな手法やアイディアをカタログのようにまとめるのではなく,それらの背後にある原理,原則,考え方を中心に解説をしていき,その中でさまざまな手法を紹介していくように心がけました。こうすることによって,機械学習やディープラーニング全体を貫く問題やそれに対する解決法を理解していけることを期待しています。なぜ人が持っている知識を直接,プログラミングするのではなく学習させる必要があるのか,どのようにして学習させ,その際にどのような問題があるのかといったことを理解することができます。

二つめは,急速に進化し続けているディープラーニングの世界において,近年注目されるようになってきた手法について,広く深く取り上げていることです。とくに「ReLUなどの活性化関数」「⁠スキップ接続」「⁠正規化手法」という学習の三大発明は,なぜ,それによって学習がうまくできるようになるのかという直感的,理論的な説明を行うように心がけました。また,Transformerなどでも使われており,今後のディープラーニングの中心的な役割を果たす「注意機構」についても詳しく取り上げています。

三つめは,人工知能のこれまでの歴史やディープラーニングの現在の位置づけ,今後の展望について解説していることです。人工知能は発展途上の技術であり,現在どのような問題が解けていて,また解けていないのか,今後どのような発展があるのかについて言及しています。

筆者は発展著しいディープラーニングやその周辺分野について理解しようと,これまでディープラーニング関連の論文を毎日数本読むというのを10年間続けてきており,これまで延べ数千本の論文を読んできました。単純な方法が驚くほどうまく働く,これまでの理解とは違ったしくみで動いていることがわかるなど,日々驚きがありました。また,それらのいくつかを実装,実験したり,また会社の中で実世界の問題を解決できるよう社会実装し,成功と失敗の経験を数多く積んできました。

こうした経験を元に本書を執筆しました。今後のソフトウェア開発において,ディープラーニングを使う機会はさらに増えてくると考えられます。ディープラーニングをサービス/アプリケーションのメインの機能として利用する場合もあれば,一部の機能として利用する場合もあるでしょう。また,ユーザーとして触れる機会もより多くなると思います。

本書を通じてディープラーニングの基本構造を理解し,その魅力に触れることで,ディープラーニングをこれから学ぼうとする方,またすでに知っている方,使っている方,さまざまな方々にとって,今後のディープラーニング,最先端の人工知能への関心がますます高まる機会につながればと思っています。