ディープラーニングの仕組みを一から理解する

ディープラーニングという言葉を耳にしたことがある方は多いでしょう。しかし、その仕組みを説明してほしい、と言われたら困ってしまうのではないでしょうか。そこで今回は、ディープラーニングの仕組みについて、一から分かりやすくご説明します。

ディープラーニングとは

ディープラーニングとは、そもそも何なのでしょうか。なぜ「ディープ(深い)」という言葉がつくのでしょうか。

多重構造で“深い”アルゴリズムだから“ディープ”ラーニング

ディープラーニングは、大量のデータを与えることで、人間が操作をすることなく機械が自動的に特徴を抽出するという、「ディープニューラルネットワーク」と呼ばれるものを用いた学習のことです。ディープニューラルネットワークとは、人間や動物などが持つ脳神経の回路をモデルとして、アルゴリズムを多層構造化したものです。ニューラルネットワークと呼ばれるパターンを認識することができるため、人間の手によらず特徴を抽出することができます。多層構造化された、深いアルゴリズムなので、ディープラーニングと呼ばれるのですね。

マシンが経験を積むことで賢くなる

人は経験を積めば積むほど、より多くのことを学んで成長します。これはディープラーニングでも同じことなのです。マシンは経験を積めば積むほど、どんどん賢くなっていきます。ここでいう経験というのは、与えられるデータの量と質で決まります。十分なデータをインプットされたマシンは、病気の診断や車の運転など、特定のタスクにおいて優れたパフォーマンスを発揮することができます。

大量のデータから複雑な構造を発見する

ディープラーニングでは、与えられる大量なデータのなかで、複雑な構造を発見することにより学習を進めます。“ディープ”ラーニングというだけあって、複数の処理層を持つ計算モデルによって、複数の抽象化レベルをもってデータを表現できるため、複雑な構造をも発見することができるのです。

例えば、画像認識の場合は数百万枚レベルもの大量の画像を与えられることで、その取得した画像に含まれるピクセルから対象物を示す特徴を分類していきます。

機械学習は特徴モデルも与える、ディープラーニングはデータを与えるだけ

ディープラーニングと似た用語で、「機械学習」というものがあります。この2つの違いはどんなところにあるのでしょうか。まず機械学習からご説明します。機械学習は、人間に指示された方法で学びを積み重ねます。例えば何かを判別するにしても、「色に着目せよ」といった判断軸を人間から渡され、それを区別できるように学んでいきます。

一方、ディープラーニングは機械学習からさらに進んでいます。機械学習は判断軸を人間から与えられるのに対し、ディープラーニングはその判断軸、つまり目の付け所を自分で学習して、精度を上げていくのです。この目の付け所というのは、専門家でも見つけるのが難しいものといわれています。例えば、写真の中に何が含まれていたら猫と判断するか、と問われたら説明が難しいと思うのではないでしょうか。この難しい部分をも、学習により乗り越えてしまうのが、ディープラーニングです。

ディープラーニングの仕組み

人間でも難しい判断を、マシンはどのようにして実行しているのでしょうか。ここではディープラーニングの仕組みについて詳しく見ていきましょう。

入力データから特徴をマッピングする

マシンには大量のデータが渡されるとのことでしたが、はじめに渡された大量のデータから特徴の抽出が行われます。まず1階層目で特徴をマッピングします。そのマッピング結果を縮小したものを、新たな特徴マップとします。このマップには「畳み込み層」と「プーリング層」という2階層が存在し、前者では画像の局所的な特徴を取り出し、後者では局所的な特徴をまとめ上げていきます。2つが組み合わさることで、入力データの特徴を維持しながら、情報量を大幅に圧縮することができるのです。

マッピングデータを抽象化して保持する

特徴を維持しながら、情報量が圧縮された状態は、いわば抽象化された状態です。この抽象化されたイメージはネットワークに記憶され、保持されます。

抽象化された画像をもとに入力データを分類する

抽象化してネットワークに保持されたデータをもとに、入力データが分類されます。例えば、画像認識の場合は画像を認識する(画像が分類されてラベルがつけられる)ということです。猫を判別しようとしたとき、マシンは大量のデータをもとに「猫とはこういうもの」という抽象化された画像を作り保持します。画像が与えられるとその画像を、ネットワークに保持された抽象的な「猫とはこういうもの」に該当するか否かを判断し、ラベリングします。

ディープラーニングはどう使われるか

人間でも難しい判断を、学習によって成し遂げるディープラーニングですが、実際にどんな用途で使用されているのでしょうか。

人のアシスタントとして使えるロボットの開発

現在では、目としての役割を持つカメラと、その目から取得された情報を処理するニューラルネットワークを組み合わせたマシンが増えてきています。人間は目から多くの情報を得ており、視覚は人類の発達にとって大きな役割を持ってきました。マシンが視覚情報を使えるようになったことで、より便利なアシスタントとして利用できるようになりました。

農業分野で収穫量増を実現

ディープラーニングの技術を使うことで、収穫量を増やしたり、除草剤の使用量を減らしたりといったことが実現できるようになっています。なぜそんなことが実現できるのかというと、例えばディープラーニングを使用して作物と雑草を見分けることができるようになると、雑草にだけ除草剤を散布して、ほかの植物には散布しない、といった操作ができるからです。肥料をどこにどのくらいまくとよいのか、殺虫剤はどのくらい必要か、といったさまざまな作業について自動で判断できるようになっています。

画像処理により医師の判断をサポート

ディープラーニングは、医療分野でも大きな成果を発揮しています。例えば、ディープラーニングでは医療画像処理ができるようになっているため、写真データを取り込むことで皮膚ガンの分類を、皮膚科医と同等のレベルで下すことができます。また電子カルテのデータから、どのような医療事象が発生するかを予測することができるため、ヘルスケア品質の改善にも役立っています。

大量のデータから特徴を取り出し判断するシステム

ディープラーニングは、大量に与えられるデータから機械自身が特徴を取り出し、それを用いて処理ができるシステムです。これからもディープラーニングを用いたさまざまなサービスが展開されることでしょう。その際、概要だけでもディープラーニングの仕組みをつかんでおくことで、うまくサービスを活用できるようになるはずです。


参考:

関連記事