【ディープラーニングとは】知らなきゃ恥ずかしい深層学習入門!

AI(人口知能)の話題になると、よくディープラーニング(深層学習)という言葉が出てきます。色々なところで出てくるので、その意味がなんとなく分かったような気になっている方も多いと思いますが、きちんとその意味を理解しているのでしょうか。この記事では、入門者に対して分かりやすくディープラーニングについて入門的な内容からやや踏み込んだ内容まで説明していきます。AIやディープラーニングの説明ですので、難しい単語や意味の用語が出てくる場合がありますので、その都度説明することで入門者もわかるように配慮します。

目次

ディープラーニングとは:AIとディープラーニング

出典:pixabay.com

なぜ近年AI(人口知能)がブームになったのかと言うとその最も大きな要因にディープラーニング(深層学習)があります。実はずっと以前よりAIの研究自体は始まっていたのですが、新たにディープラーニングでの計算が可能になったことで、AIの技術が大きく進み、いろいろな分野で実際に活用できるようになりました。このことに大きな意味があり、現在のAIブームが到来したのです。

ディープラーニングは50年来のブレークスルー

これまでの長いAI研究の視点から見ると、ディープラーニングは50年ぶりにやってきた大きな進展(ブレークスルー)です。ディープラーニングの実現は、今後の飛躍の可能性をもたらしているのです。AI研究においてディープラーニングで実現できることを正しく認識することが不可欠であり、世の中でAIで実現できることを把握することを意味します。

AIの中のディープラーニング

AIとは何かということは、学者によっても微妙にその意味と捉え方が違うのです。AIの定義は、人工的につくられた知能も持つ実体であるとか、知能をもつ機械などと考えると良いでしょう。さらに進んで、人間の知能そのもの持つ機械を作るという概念もあり、このような研究も盛んに行われるようになっています。 AIは、ディープラーニングより広い概念であり、AIの一分野としてディープラーニングがあるとも言えます。ディープラーニング以外のAIとしては、自然言語処理、自動運転、音声認識(一部ディープラーニングを使っている部分もあり)などの分野があります。

進化するAI・ディープラーニング技術

出典:pixabay.com

ディープラーニングはコンピューターの処理能力と密接な関係があります。またビッグデータ分析とも関係があり、ビッグデータ分析で大量のデータを分析していたのですが、更にコンピューターの処理能力向上によりディープラーニングにおける特異点が分かるようになったのです。ディープラーニングでは、大量の学習データを扱い、そのデータによって学習を行う特に高いコンピューターの処理能力が必要になります。別な言い方をすれば、コンピューターの処理能力向上がディープラーニングでの分析を可能にしたと言えるのです。

ディープラーニングが有名になったきっかけ

ディープラーニングが大きな話題となったこととして、2012年のGoogleによって、ネット上にある猫の画像をコンピューターが学習し、猫の画像を認識できるようになったというニュースがあげられます。これまでの画像認識は、人間が予め認識したい対象物の特徴を与え、それと比較することで認識を行っていたのですが、この方法では、人間が教え込むことなしで、コンピューター自ら学習することで、物体の識別が可能になったのです。 上記のGoogleの猫の画像の発見は、当時多くのメディアで取り上げられました。それまでAI(人口知能)という言葉はあったのですが、研究分野としては全く日の当たらない分野で、ほとんどの人が知りませんでした。IBMが開発したAI(人口知能)であるIBMワトソンがアメリカのクイズ王に勝利した事件と、Googleが開発したAI(人口知能)ソフト「アルファ碁(AlphaGo)」がプロのチャンピオン棋士に勝利した事件が報道され、一気にブームがやってきたのです。これらのニュースは大変有名は事件なので、専門家以外の人がAIについて知るきっかけになりました。このような中、AIブームはAI研究に大きな意味があり、アメリカなどの大学、多くの研究機関、新興企業(スタートアップ)などでも研究の加速しているのです。また、学生などの入門者も多く研究に参加するとともに、色々な企業でAI関連の部署を立ち上げるなどの状況になっているのです。

機械学習とは何か

それでは、機械学習とは何でしょうか。AIやディープラーニング以外に機械学習という言葉もよく使われます。機械学習とはどのような意味なのでしょうか。また、ディープラーニングも機械学習のような気がしますが、両者の意味の違いは、どのような点でしょうか。 ここでは、機械学習とディープラーニングの意味について説明します。色々な言葉が出てくるので、入門者が混乱する可能性もありますが、一つ一つ理解していきましょう。 普通、コンピューターを使って何かを処理する場合には、人間が予め作成したプログラムのロジックに従って動作をさせるのですが、機械学習では、人間がロジックを作成しません。機械学習では、コンピューターが何かを使って学習した結果を使って処理を返すのです。コンピューターが自ら学ぶことで、答えを導き出す仕組みです。 一般的に機械学習では、センサーやデータベースなどで収集したデータを学習データとして入力し、分析を行います。その中から一定のルールや規則、パターンなどを発見するのです。発見したルールや規則、パターンなどを利用してデータなどの将来予測を行います。今までの組み込みプログラムで実現していた処理に加え、大量のデータからの学習で更に精度が向上するのです。 このように機械学習では、統計的な手法を用います。学習データによって自律的に学習することで、プログラムのアルゴリズムにはない回答を引き出せるようになるのです。

機械学習とディープラーニング

機械学習とディープラーニングは、非常に近い内容や意味となるので、混同する入門者の方も多いと思います。それぞれの説明を聞いても非常に似ている表現が多いので、その意味の違いをきちんと理解している人が少ないのです。もちろん研究者やAI技術者の方は理解しているのですが、数学など難しい説明が入り込んでくるので、入門者にとって非常に分かりずらいものとなっています。

ディープラーニングは機械学習の中に含まれる

概念としては機械学習の方が、ディープラーニングより広い概念です。ディープラーニングは機械学習に含まれることになります。もちろん、機械学習もディープラーニングもAI技術の1つなのです。  機械学習 > ディープラーニング 

大量データなどを利用する面では同じ

ビックデータなどの大量データを利用し、統計的に分析するという意味では、機械学習もディープラーニングと似ています。ディープラーニングでは、この分析に多層のニューラルネットワークを利用している点に特徴があります。先ほど説明したように、ディープラーニングも機械学習の1つですので、多層のニューラルネットワークを利用した分析が機械学習でもあるのです。よって両者の説明になると非常に似たような表現となるので、これが入門者にとって両者を理解しずらくしている要因です。ディープラーニング以外の機械学習には、大量のデータの確率的な特徴を掴んでパターンを予測することや、潜在的な特徴を掴んで予測などを行うのです。

機械学習とは

機械学習とは「明示的にプログラムをしなくても学習する能力をコンピュータに与える研究分野」(アーサー・サミュエル)です。また、これまで説明したようにデータを使った予測をすることが多いのです。その他アルゴリズムによって分類を行っており、大まかに「教師あり学習」と「教師なし学習」などに分類されます。その他「強化学習」「半教師あり学習」など色々なアルゴリズムがあるのです。また、ディープラーニングと組み合わせて、これらの機械学習を使うことでAIの精度が向上している事例もあるのです。

教師あり学習とは

教師あり学習とは、正解付きのデータを機械に学習させる方法であり、データを入力すると数値を回答する方法(回帰)であったり、データを入力するとデータの属性や種類を出力(回答)する方法(分類)があり、株価予測など予め正解が用意されているもので利用します。

教師なし学習とは

正解の付いていない膨大なデータから自動的に算出した特徴量から構造・傾向・法則を導出することで、コンピューターに学習を行う方法です。データを入力するとそのデータのグルーピング結果を回答する方法(クラスタリング)なのです。

強化学習とは

自ら色々なパターンを試行錯誤して最適な行動を見つける方法です。直近の目標を達成し、報酬を与えることで学習していくのです。 ゲームや自動車の運転などのAIで適用可能なものであり、報酬を最大化する行動を試行錯誤して学習していきます。対象データが正しいかどうかは分からないのですが、良さそうか良くなさそうかということは分かる場合に、それを報酬に置き換え、その報酬により学習する手法です。オセロなどのゲームでのように動的に変化する環境で適用できます。強化学習の中にシミュレーションや数値計算を乱数を用いて行うモンテカルロ法というものがあります。

その他の学習

その他の学習分類として、半教師あり学習やトランスダクション、マルチタスク学習などの手法もあります。半教師あり学習とは、教師あり学習と教師なし学習の組み合わせで、正解付きのデータと正解なしデータを組み合わせて学習データとする方法です。教師あり学習と教師なし学習のいいとこ取りみたいなイメージですが、必ずしも教師あり学習より精度が上がる訳ではないのです。他にも決定木など色々なモデルがあるのですが、今回は入門編ですのでこの部分解説はこの程度にします。

ディープラーニングの原理とは

ディープラーニングの仕組みとはどのようなものでしょうか。ここではディープラーニングの基本的な原理について説明します。入門者には少々難しい意味の言葉や専門的な意味の言葉も含まれますが、ディープラーニングの基本的な内容なので、押さえておいて頂きたいと思って解説します。ディープラーニングでは、ある程度の高等数学を利用するのですが、ここでは数式を使わずに説明します。特に「畳み込みニューラルネットワーク」については、ディープラーニングの基本原理を理解する上でよく説明されるので、全体的な意味について理解しておくとよいでしょう。

ニューラルネットワークとは:脳の構造を模している

脳にシナプスという神経回路があって、電圧が一定以上になった時に、神経伝達物質が放出されて、その物質が次の神経細胞に伝わると電気信号が伝わる仕組みになっています。神経細胞のことをニューロンといいますが、ディープラーニングの基本的な構造は、この脳の構造を模したニューラルネットワークによって成り立っているのです。ニューロンがシナプスを経由して次のニューロンに信号が伝達する構造に似たニューラルネットワークを何層にも重ねて計算することがディープラーニングでもあります。

ディープラーニングの基本原理とは

ディープラーニングでは、ニューラルネットワークのアルゴリズムを何層にも重ねて処理します。このニューラルネットワークの一番初め(入口)の層を「入力層」といいます。そして真ん中の層を「隠れ層」、最後の層を「出力層」といいます。これらを結ぶ線をエッジとよび、その結び目の部分をノードと呼びます。それぞれの層でノードをいくつ重ねても構いませんし、中間の「隠れ層」をいくつにしてもいいのです。各層が活性化関数と呼ばれる関数をもち、各エッジはそれぞれ重みをもっています。そして各ノードは、前のノードの値と接続エッジの重みの値、その層が持つ活性化関数から値を計算するのです。多層ニューラルネットワークとしては、それらの層が何層にも重なっており、その全体を最適化するように計算するのです。

ディープラーニングの手法とは:畳み込みニューラルネットワーク(CNN)とは

ニューラルネットワークのアルゴリズムとしては色々な手法が考案されているのですが、画像認識の分野では、畳み込みニューラルネットワーク(CNN)が良く使われます。畳み込みニューラルネットワークとは、どのような仕組みでしょうか。畳み込みニューラルネットワークは、ディープラーニングの手法の中でも一般的で一番有名な手法です。英語ではConvolution Neural Networkであり、CNNと表記される場合があります。説明に数式を使う場合があるので、入門者がつまずきやすい内容かもしれませんが、一番良く使う手法なので、おおまかに内容を掴んでおきましょう。 畳み込みニューラルネットワークでも、もちろんニューラルネットワークを使います。畳み込みニューラルネットワークで画像データを処理する場合は、まず入力層で画像データを分解して各ノードで入力を行います。それから隠れ層ですが、この層を「畳み込み層」と「プーリング層」の2つに分けます。畳み込み層では、活性化関数により画像のフィルター処理をして、特徴マップを得ます。次にプーリング層では、畳み込み層から出力された特徴マップを、さらに縮小して新たな特徴マップを作成するのです。言い換えれば、畳み込み層では、画像の局所的な特徴を見つけ出し、更にプーリング層はその局所的な特徴を更にまとめているのです。

ディープラーニングの手法とは:再帰型ニューラルネットワーク(RNN)とは

次に有名な計算方法として、再帰型ニューラルネットワーク(RNN)があります。再帰型ニューラルネットワークとはどのような計算方法でしょうか。畳み込みニューラルネットワークと同じように、入力層、隠れ層、出力層があります。再帰型ニューラルネットワークは、「音声の波形」「動画」「文章(テキスト)」などの時系列データを扱うのに適しています。英語でRecurrent Neural Networkのことで、RNNと表記します。

ディープラーニングの手法とは:その他の手法

ディープラーニングには、その他幾つかの手法があります。どの手法での多層のニューラルネットワークを用いるという点では同じです。しかし、計算方法は分析する対象が何かによって、違う手法を用いることができます。また、同じ手法であっても最適なノード数や階層は変わってくるのです。これらの最適値を見つけるための計算量が膨大になってきます。その他の手法として、再帰型ニューラルネットワークの弱点を解消した「LSTM(Long Short-Term Memory)」や「敵対的生成モデル(GAN)」があります。この内容は入門編としては少し突っ込んだ内容でしたが、ディープラーニングの本質を理解する上で非常に意味がありますので、少しだけ説明を行いました。

ディープラーニングを活用した取り組みとは(応用事例)

ディープラーニングには、幾つかの手法があり、それらを使って実社会での活用も広がっています。画像認識、動画解析、音声認識、テキスト解析など、色々な場面での実活用が既に進んでいるのです。

ディープラーニングの活用:画像認識

大量の画像を読み込ませることで、その画像が何であるか認識することができます。Google の猫の画像の学習でわかるように、ディープラーニングが得意とする分野です。 色々な分野での応用が行われており、医療分野においてもその応用が実施されています。創薬やゲノム治療などの分野もありますが、ガンなどの画像診断の分野があるが入門者にとって一番わかりやすいガンの画像解析について説明します。ガンは今や国民の2人に1人がかかると言われる国民病でありますが、治療にあたり早期発見が鍵となります。通常ガンの診断では、CTやMRIなどの画像を使って医師が診断を行うのですが、この画像解析でディープラーニングを用いることで、診断精度の向上を図るというものです。 この分野では、色々なガンの種類や診断方法でのさまざまな応用が検討、実現されています。2017年7月に国立がん研究センターとNECは、AIを活用したリアルタイム内視鏡診断支援システムを開発したと発表しました。大腸内視鏡検査でガンやガンになる前の病変(ポリープ)の発見を支援するもので、大腸内視鏡検査をしている最中に病変を発見できるのです。同社によると98%の発見率であり、今後臨床試験を実施した後に、国内および世界での実用化を目指すとのことです。

その他のガンでは、2018年1月にがん研有明病院とAIメディカルサービスが、内視鏡の画像から胃がんを検出するシステムを開発したとの発表がありました。先ほどは、大腸ガンでしたが今度は胃ガンです。ここでもディープラーニングを使って98%の精度で、胃ガンの病変を見つけることができ、今回は動画ではなく内視鏡検査で撮影した静止画を対象に分析したとのことであり、将来的には動画を対象にして内視鏡検査中にリアルタイムでの診断を可能にするとのことです。

ディープラーニングの活用:音声認識

ディープラーニングを使わない手法もありますが、音声認識の分野でディープラーニングを利用する方法もあります。Googleでは、Cloud Speech APIというソフトでディープラーニングを使い音声をテキスト変換するAPIを公開しています。このCloud Speech APIでは、さまざまな国の言語の音声データを大量に学習させており、ニューラルネットワークの技術により音声認識を実現しています。また、頻度の高い単語を登録することで、音声認識をより精度の高いものにすることができるのです。 また、マイクロソフトでも同じようにディープラーニング技術を使った音声認識のソフトを開発しています。同社によると、このソフトでのディープラーニングは、畳み込みリカレントニューラルネットワークを体系的に利用しており、一部LSTM(Long Short-Term Memory)のモデルも使用しているとのことです。

ディープラーニングの活用:囲碁

AI関連のニュースでは、アルファ碁の話は大変有名です。入門者向けに念のためおさらいします。 グーグル傘下のディープマインド社が開発した「アルファ碁(AlphaGo)」が、囲碁の世界チャンピオンに勝利したという内容です。アルファ碁は、ディープラーニングの技術を利用しており、大量のプロの対局データを学習することで強くなっていったのです。またディープマインド社のアルファ碁は、さらに進化を行っており、2017年10月に「アルファ碁ぜロ」を新たに開発しました。アルファ碁ぜロのディープラーニングでは、人間が手本を示さなくてもAI同士が対局を繰り返し、独学で腕を磨いていったとのことです。グーグルは大量のデータからヒントを自分で見つけるといった手法で、今後産業界での応用にも繋がることを意味し、この技術をアピールしているのです。 アルファ碁ゼロの技術について少し詳しく説明します。入門者にとっては、少し難しい内容かもしれませんが、ポイントとなる点ですので、何卒ご容赦ください。アルファ碁ゼロの技術は、厳密に入ればディープラーニング、探索、強化学習などの組み合わせで成り立っています。初めは、碁石をランダムに並べることしかできなかったが、3日後には今までの強かったアルファ碁に勝てるようになり、40日後には自己対戦数が2900万局に達したのです。

ディープラーニングの活用:小説

変わった取り組みとして、人工知能は小説を書けるのかということで研究しているグループがあり、星新一賞への応募を目指している。ディープラーニングの技術を使って、AIが小説を書くという取り組みです。これは「きまぐれ人工知能プロジェクト作家ですのよ」というプロジェクトで星新一の小説のようなショートショートを、AIで作成することを目的としているのです。

ディープラーニングの活用:大学入試

ディープラーニング技術を使ってAIが東大に入れるかというプロジェクトもある。東大レベルまではなかなか実現しないようであるが、ある程度の偏差値までは達したようです。このAIは「東ロボくん」という名称で、過去の入試問題や教科書、辞書などの情報を学習し、日々勉強に励んでいるといいます。現在の「東ロボくん」は、常識が分からない、文と非文(文として成立しない文字列)の区別ができないなど色々な問題があり、まだ東大レベルにはおぼつかないですが、今後の更に賢くなる可能性があります。

ディープラーニングのフレームワークとは

ディープラーニングや機械学習の世界では、幾つかのフレームワークが公開されています。無料・有料の幾つもの取り組みがあり、これを利用して幾つもの活用が進められているのです。また、開発者がいつでも利用できるオープンな環境は、ディープラーニングを身近なものとして捉えられるようになってきています。ディープラーニングのフレームワークのうち、幾つかをご紹介します。

ディープラーニングのフレームワークとは:TensorFlow(テンソルフロー)

ディープラーニングのフレームワークとして、Googleは「TensorFlow(テンソルフロー)」を公開しています。Pythonなどのプログラム言語から、開発者が自由にディープラーニングや機械学習を利用できるのです。ディープラーニングの技術を増やすという意味においても、このソフトの存在は非常に意義深いものです。

ディープラーニングのフレームワークとは:Chainer (チェイナー)

Preferred Networks社が開発したディープラーニングのオープンソースソフトウェアライブラリーとして「Chainer (チェイナー)」があります。Preferred Networks社は、ディープラーニングを専門とする日本のスタートアップ企業であり、国立がん研究センターやトヨタ自動車などと協業し、数々の先進的な取り組みを実施しているのです。

ディープラーニング入門:まとめ

出典:pixabay.com

ここまでディープラーニングに関して、様々な説明を行ってきました。ディープラーニング入門としては少し深い内容も説明しましたが、全体的には入門的な内容です。最後まで読んでいただければ、ディープラーニングの全体像について理解できると思います。ここで少し今までの内容について、少しおさらいをしてみます。 ・現在のAIはブームは、ディープラーニングの進展(ブレークスルー)が大きな契機になった ・ディープラーニングは、機械学習の中に含まれる ・機械学習は、人間が予め作成したプログラムで動作するのではなく、コンピューターが自ら学ぶことで、答えを導き出す ・機械学習には、教師あり学習、教師なし学習、強化学習、半教師あり学習などがある ・ディープラーニングの基本原理として、畳み込みニューラルネットワーク(CNN)や再帰型ニューラルネットワーク(RNN)が有名 ・ディープラーニングの応用事例として、ガン画像診断などの医療分野や「アルファ碁(AlphaGo)」がある。 ディープラーニングの意味合いを理解すれば、あなたもAI技術者になれます。AI技術者が現在産業界で引く手あまたであるだけでなく、今後の世界を変えていくことができるのです。