20代で転職を検討されている方へ


今話題のディープラーニングについて簡単に説明!一体何ができるの?

「AI」や「ディープラーニング」はIT業界のセミナーや動向だけではなく、一般のテレビ番組やニュースでもよく聞くワードになってきました。AIというとSF映画にでてくるようなコンピュータやロボットを想像してしまいがちです。「AI=ディープラーニングなのか?」「一体何ができればAIなのか?」という疑問が浮かんだことはないでしょうか。これはAIの歴史を振り返ることでわかります。今のAIブームが、実は第3次AIブームと言われていることを知っているでしょうか。

 第1次のAIブームは、1950年代後半~1960年代に起こりました。自然言語処理による機械翻訳が主でしたが、当時のAI技術やコンピュータ処理能力では、迷路の解き方といった単純な問題しか扱うことができず、現実社会の課題を解くことができませんでした。このため産業に利用されることがなく自然とブームが終焉しました。

 第2次AIブームは1980年代で、当時は多数のエキスパートシステムが生み出されました。エキスパートシステムとは、例えば医療関連のような特定の専門分野の知識を取り込んで推論するシステムです。コンピュータから聞かれる情報に応えていくと、「風邪です」や「中耳炎です」といった諸症状から病名を推論するようなことができるようになりました。しかし、当時はコンピューターが情報を自ら収集・蓄積することはできず、コンピューターにとって理解可能な情報に落とし込んで情報を蓄積したり、課題や問題を提供する必要がありました。情報の蓄積が非常に困難で現実的ではなかったことや、本来は前知識のない一般人が使って嬉しいエキスパートシステムが、エキスパートしか上手に扱えないシステムになってしまったことから、次第にブームが終焉しました。

 そして現在の第3次AIブームに至るわけです。現在騒がれているAIの偉業としては、「アルファ碁」が有名です。AIの進化の尺度として、AIがゲームで人と対戦して勝てるかどうかというものがありました。そのゲームの中でも、AIが人に勝てないと言われてきたのが「囲碁」でした。2017年にAIである「アルファ碁」が、世界最強のプロの囲碁棋士に3連勝したというニュースにより、AIの進化が世に知らしめられたわけです。その「アルファ碁」の基礎となっていたのが「ディープラーニング」という仕組みでした。

ディープラーニングとは

AI、機械学習、ディープラーニングなど、呼び方がいろいろ存在しているために、それぞれの単語の意味を明確に理解することが大事です。理解の手助けとして大枠で考えると、AIという人口知能の大きな概念を実現させる1つの方法として誕生したのが機械学習であり、機械学習の精度をより高めるアルゴリズムの1つとして誕生したのがディープラーニングです。各それぞれの単語の意味を下記にて紹介していきます。

AI(人口知能)

AIは人間の創造力の産物と言われています。1956年のダートマス会議でコンピューター科学者AがIという分野を確立したのが始まりですが、それは夢や希望に近い概念でした。当時では実証・実現が不可能な、想像の中での理論でしたが、概念としてはすばらしいものであったため、概念部分が先行して世に広がりました。

AIは汎用型と特化型に分けることができます。特化型というのは、例えば画像認識、自然言語処理、音声認識といった特定領域で自動判断ができるAIを指し、現在においては一部実現ができてきている範囲です。汎用型は人間と同等、またはそれ以上の判断ができるもの指し、私たちが映画やアニメの世界で見聞きしている想像力の産物、夢や希望の概念としてのAIと言えます。

機械学習

大量のデータを統計処理して、予測結果に利用するアルゴリズムです。あるタスクを実行するのにプログラムをコーディングするのではなく、タスク実行方法を学習できる機能とデータを提供することで、最良の解を提示する仕組みです。このため、実際にコンピュータが事物を理解するわけではありません。数値推移の予測や、情報(文字列や画像情報当)の分類分けを統計的に行った結果、コンピュータが物事を理解して、答えを出しているように見せています。つまり、統計的な相関関係はわかるが、因果関係を出しているわけではないので、「それらしい」回答を出すのは得意ということになります。

例外的な考え方や、これまでにないデータパターンへの対応には弱いということになりますが、「例外へ対応するための正解」データを投入し、強化することでその対応範囲と精度が上がっていきます。例えば、文字認識をするOCR機器に例えると、活字印刷した文字はデータパターンを投入しやすく、正しく文字を認識できます。しかし、手書き文字の場合は人の癖などが入るために文字の認識精度が落ち込みます。

ディープラーニング

 機械学習を行う数種類の方法の中の1つです。他の方法との大きな違いは、判断処理を1回の演算処理で終わらせるのに対し、ディープラーニングは演算処理結果をフィードバックして、演算を繰り返す部分です。このため、他の方法では統計的な見地から判断結果の基準がわかるのに対して、ディープラーニングでは明確な判断ロジックを説明するのが難しいのが特徴です。

 例えば、会社の社長が3年目の社員の中で一番優秀な人を選出しようと部長に聞いたとします。部長はその時はA君だと思いましたが、課長に聞いたらA君も優秀だけどB君のほうが優秀だと聞きました。課長も、係長に同じ質問をしたら、実はC君というもっと優秀な人がいることがわかりました。係長は、3年目の同期同士で優秀な人がだれかを聞いて回ると、A君が一番優秀だということになりました。部長が自分だけの判断で社長へ回答するのか、課長の意見を参考にして回答するのか、係長の意見を参考にした課長の意見をで回答するのか、どこまでフィードバックするかで3年目のA君達の評価も変わってくるのです。

 これまでの機械学習は、社長は部長に聞くことしかできなかったのです。フィードバック回数を多くすることで、正解が変わってくるような複雑な問題の場合に対応するべく、ディープラーニングが登場したのです。

ディープラーニングの仕組みについて

 ディープラーニングは、判断結果をフィードバックするのが特徴ということは理解いただいたかと思います。このフィードバックする仕組みを、具体的にはニューラルネットワークというアルゴリズムを用いて実現します。ニューラルネットワークは、脳の神経回路の仕組みを模倣したアルゴリズムです。入力層、中間層、出力層の3層に分類して、「入力」されたデータを「中間層」で「処理」して、結果を「出力」するのが一連の流れです。中間層を何層も重ねてフィードバックすることで、ニューラルネットワークの精度が向上しますが、この中間層が2層以上になっている多層構造のことをディープラーニングといいます。

 中間層を多層にする方法として、CNN(畳み込みニューラルネットワーク)とRNN(再帰型ニューラルネットワーク) があります。CNNは順次処理でフィードバックし、最終結果を出すのに対して、RNNは再帰的にフィードバックを行う方法です。

 アルファ碁の例で考えると、囲碁の盤面のイメージ画像を学習データとして投入しています。このデータ投入についてもコツがあり、全局面を繋げて投入すると「過学習」の状態となります。こうなると、機械的な判断・回答しかできなくなってしまうので応用が利きません。入力情報に制限を加えた状態で、CNNやRNNによってフィードバックし、正しい手が打てるように学習させることで応用が効くようになります。アルファ碁は、応用が利くようになったアルファ碁同士を対戦させて、その対戦結果データを学習データとして取り込むことで、より高い判断精度がでるように調整しています。

こういった背景から、ディープラーニングによって導きだした結果判断は、どういうパラメータ調整が繰り返されて、どのように答えを導き出したかが説明できないことになっていきます。

ディープラーニングを行うには

 具体的にディープラーニングをやってみようと思う場合、まずはプログラミング言語であるPythonを簡単にでもいいので習得します。これは、Pythonで作らている機械学習に関するライブラリが充実しているためです。もし、統計学よりも、Pythonよりも、とにかく早くディープラーニングに触れて、実践してみたいという場合は、クラウドサービスの利用を検討します。

 Microsoft社の「Azure ML」や、Amazon社の「Amazon ML」は、機械学習(ディープラーニング)を行うためのクラウドプラットフォームです。GUIのインタフェース上で、マウスのドラッグ操作等により簡単にディープラーニングを行うことができます。従量性の費用は掛かってしまいますが、クラウド側のコンピュータリソースが利用できるので、低スペックのPCしか所持していなくてもディープラーニングを動かして、動作を確認することができます。

ディープラーニングのビジネス事例とその課題

 実際のビジネスにおいて、ディープラーニングがどのように利用されているかについて、代表的なものを3つご紹介します。

人事評価

 AIによるエントリーシートの評価や、企業の人事評価といった分野で使用されています。過去の人事考課結果をデータとして投入して学習させたAIに、入力としてのエントリーシートや人事考課の元ネタ情報を提供することで評価がでるというものです。課題としては考課結果が思わしくない結果に終わった人から見た際、考課者に対する評価結果の妥当性を確認することができないことです。エントリーシートは1次書類選考の方法として有効かもしれませんが、結果としてその評価・考課が正しかったとしても、納得感を醸成することについては課題が残っています。この部分においては、まだ人による伝達・面接といったフォローが行われているのが実情です。

チャットボット

 JALから発表されているAIによるチャットボット、マカナちゃんがあります。自然言語処理機能によってユーザの質問に答えることができます。他にも、性格分析機能から性格を診断したり、お気に入りの写真から町のおすすめスポットなどを紹介するサービスです。チャットボットは他にも各社、さまざまなタイプのものが発表されており、チャットボットに適したAIプラットフォームも登場していることから、今後もチャットボットが増えていくことが予想されます。Microsoftの「Azure Bot Service」などは、簡単にWeb サイト、独自アプリケーション、Skype、Slack、Facebook Messenger などで自然なやりとりができるインテリジェント ボットを構築するサービスを提供しています。

 また、IBMの「Watson」はチャットボットとその周辺システム開発を「IBM Cloud」上で構築して提供することができるようになっています。チャットボットの課題としては、利用者側の意図する回答内容にどこまで対応ができるかという部分です。質問の仕方や前後の文脈の意味などで捉え方のニュアンスが異なってくることがありますが、そのニュアンスを上手くつかみきれない場合がどうしても存在します。ビジネスシーンとしては1次受けをチャットボットが引き受け、チャットボットでは難しい質問を人によって2次受けを行うことになります。

OCR(Optical Character Recognition、光学式文字認識)

 OCR自体は以前より各社から提供されているものが多数ありました。ディープラーニングにより新たな境地が開発されたのが、手書きの文字認識率の向上です。単純にディープラーニングを使った文字認識をするだけでは各社横並びになってしまうので、特徴を出すように応用して手書き認識率を高める工夫をしています。昨今の特徴としては、文字認識の結果候補について、前後の文脈の意味を理解したり、辞書内の単語に無いような不自然な文字を排除する方法です。これにより突拍子もない文字認識結果が返ってくることを避け、手書き文字の癖に対応しています。例えば、名刺などの読み取りの場合、人名事典などを辞書として不自然な人名構成の文字にならないようにしています。

 OCRの課題は、OCR読み取りを意識して記入しているかどうかでも認識率が異なってくることです。枠内にはみ出さないように記入してもらったり、極端に崩した書き方をしないなど、一般に広く配布する紙に手書きをしてもらうようなパターンでの認識率の向上が課題となります。