AIとは何か

CNNとDeep Leaningについて、初心者にわかるように説明してみた!

cnnのイメージ

ニュースなどで話題に上ることも多い人工知能(AI)。様々なサービスに人工知能(AI)が使われており、ビジネスの現場でもホットなトピックとなっています。

こうした背景には、cnnとdeep learningの存在が挙げられ、これらの技術の発明により画像認識の精度が大きく向上し、これまでには不可能であったことができるようになったのです。

ところで、このcnnとdeep learningはどのような場面で使われているのでしょうか。

具体的には自動運転の運転アシスト技術やFacebookの顔認識による自動タグ付け機能などに用いられており、将来的にはより多くの場面での使用が期待されています。

しかし、この技術に関して、「知らない」「関係ない」などでは済まされなくないのです。というのも、2013年にオックスフォード大学の研究者が出した論文によると、今後10~20年のうちに既存の職業の47%が機械によって代替されてしまうというのですから。

これに対抗していくためには、自身がその技術を使いこなしていく側になる必要があります。

そこで今回は、画像認識において大きな成果を上げているcnnと近年の技術の進化を支えてきた基盤技術であるdeep learningについて、初心者の方にもわかるようにお伝えします。

人工知能(AI)、機械学習、ニューラルネットワークの違い

人工知能のイメージ

まずはじめに、理解の前提となる人工知能(AI)、機械学習、ニューラルネットワークの違いについて説明しましょう。

人工知能学会によると

人工知能(AI)とは、研究者によって定義は異なるものの、大まかにいえば「知的な機械、特に、知的なコンピュータプログラムを作る科学と技術」。
機械学習とは、この人工知能(AI)が学習を行う方法で、ニューラルネットワークとはその機械学習の手法の一種です。
(参考) 人工知能(AI)> 機械学習 > ニューラルネットワーク

そして、人工知能(AI)には以下のように大きく2種類に分けることができ、現在研究が進んでいるのは「弱いAI」。

  • 強いAI:感情までも表現可能 (例)ドラえもん、アトム
  • 弱いAI:特定の能力のみ再現可能 (例)自動運転、自動翻訳

ニュースなどでよく取り上げられる人工知能(AI)というのは、この「弱いAI」を指すことがほとんどで、機械学習やニューラルネットワーク、そしてこれから説明するcnnとdeep learningも「弱いAI」の一種です。

ニューラルネットワークとは

ニューラルネットワークのイメージ

ところで、そもそもニューラルネットワークが分からない方もいますよね。そこで今度はニューラルネットワークについてお話ししましょう。

ニューラルネットワークは、人間の神経の仕組みをシステムで模したもので、cnnとdeep learningにはこのニューラルネットワークが用いられています。

人間の神経はニューロンやシナプスから構築されており、ある情報を刺激として受け取ると、それをニューロン内で変換しシナプスを通して次のニューロンに伝えることで情報を伝達していきます。

このニューラルネットワークでは、データを受け取るとそのデータは複数のニューロンから構築された入力層に渡され、その後入力層のデータそれぞれに重みを掛け合わせたものを次の隠れ層に渡します。渡されたデータは活性化関数(入力信号の総和を出力信号に変換する関数)を用いて変換、そして重みを掛け合わせて次の隠れ層に伝える、という処理を繰り返して出力を得ます。

これがニューラルネットワークであり、簡単に表したものが以下です。

ニューラルネットワークのイメージ

このニューラルネットワークに大量のデータ(学習データ)を与え、得られた出力と実際の数値との差を最小にするように重み(w)の値を変化させていくことが、ニューラルネットワークにおける学習プロセスです。

例えば、グーグルが開発した囲碁プログラムである「AlphaGo(アルファ碁)」が2015年に人間のプロ棋士を破ったというニュースは記憶に新しいのではないでしょうか。このプログラムも根底にはニューラルネットワークが存在しているのです。

Deep Learningはニューラルネットワークを用いた学習

ディープラーニングのイメージ

それではいよいよ、近年の人工知能(AI)の発展をもたらしたdeep learningについて見ていきましょう。

deep learningとは、先ほどのニューラルネットワークをより「深く」したもので主に4層以上の層からなるニューラルネットワークを用いた学習を指します。

この「層を深くすること」の重要性は、理論的に多くのことが分かっているわけではありませんが、認識精度の向上やネットワークのパラメータの削減、学習の効率性の向上が可能になることだと言われています。

そして、このdeep learningが優れている点は、人間が教えることなくともニューラルネットワーク自身が特徴を抽出して自己学習を行えることです。

自己学習が行えるため、人間の能力を超えることも可能になります。

実際、機械学習関連のコンペティションにおいて最近の上位を占める手法はdeep learningであり、傾向としては層を深くする方向に向かっているのですから、deep learningがいかに優れているかお分かりになるでしょう。

実は、このdeep learning、以前から理論は存在していたものの技術的な問題から普及することはなかったのですが、近年、コンピューターの性能が向上するとともに大量の情報が入手可能になったため学習精度が大幅に改善され、ブームを巻き起こしたのです。

cnnは画像のどこを特徴点として抽出するかを学習する

画像認識のイメージ

それでは最後に、画像認識において大きな成果を上げているCNNについて解説していきます。

cnnとは、Convolutional Neural Networkの略で、日本語では畳み込みニューラルネットワークと言います。「畳み込み層」では、画像の特徴を抽出します。具体的には、特徴を抽出する際、画像のどこを特徴として抽出するかを学習する層です。

では、さらに理解しやすくするため、この一連のプロセスを人間に当てはめてみましょう。

例えば、写真を1枚見た時、そこに写っているのが「イヌ」か「ネコ」を判断することを想像してみてください。このとき「顔の長さ」や「耳」、「目」などに注目するはず。「イヌ」や「ネコ」以外の、周囲の背景などに意識を払う人はいないでしょう。

その一方で、これまでの機械学習では、関係のない情報も処理されていました。

しかし、cnnでは「顔の長さ」や「耳」、「目」の特徴に着目して判別が可能になり、画像判別精度の改善に大きく貢献することになったのです。
そして、このcnnは層を「深く」する、すなわちdeep learningと組み合わせて用いられることが非常に多くなっており、画像認識の人工知能(AI)といえば、ほぼ確実にこのcnnとdeep learningのアルゴリズムが使われています。

こうしてcnnの仕組みをdeep learningに導入することで、その認識精度は人間を超えるほどになったのです。

 

特徴を見分けるイメージ

今回は初心者の方でも理解できるように、できる限り数学を使わずにcnnとdeep learningについて解説してみました。

cnnやdeep learningのことを最初は難しいと感じてた方でも意外と簡単だなと思った方も多いでしょう。

実装にはそれなりのスキルが必要になるのですが、概念を理解するのにはそれほど労力がかかりません。人工知能(AI)とは今回解説した概念を適用したものであり、世間で言われているほどとんでもない代物ではないのです。

とはいっても、数十年前のワードやエクセルなどと同じように、cnnやdeep learningがビジネスの現場で当たり前のように使われる日もそう遠くありません。

今回の記事をはじめとして、世の中で人工知能(AI)がどのように使われているのか考えてみてもいいかもしれません。そうすることで、人工知能(AI)による時代の変化にも柔軟に対応していきましょう。

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました