
AI(人工知能)のトピックが話題になる中、それを支える技術として注目されているのが機械学習です。AIの発達に欠かせないと言われていますが、どのような仕組みで機能しているのでしょうか?
そして、機械学習をより発展させた技術が、ディープラーニング(深層学習)です。機械学習と何が違うのか、そしてどのような役割を果たすのでしょうか?
今回は、そんな2つの技術の違いや、実際の活用方法について紹介していきます。
AI(人工知能)とは
まずは、機械学習やディープラーニングが注目されるきっかけとなった、AI技術について確認しておきましょう。
人工知能と従来のコンピューターの違い
平たく言えば、人工知能は従来のコンピューターが持つプログラムよりも賢いプログラムのことを指しています。従来のコンピューターよりも賢い理由は、人工知能が自律的に物事を判断し、実行することができるためです。
これまでのコンピューターやロボットというものは、人間ができる作業をそのまま繰り返すことに長けた技術でした。例えば、ベルトコンベアの部品を組み立てたり、複雑な計算式を秒速で解いたりなど、あらかじめ設計されたプログラムにのっとり、作業のオートメーションを実現することができます。
しかし、人工知能の場合、教えられたことをそのまま真似するのではなく、内容を学習し、自律的に行動することができるようになります。
例えば、オセロのルールを教え、幾度となくプログラムにプレイさせることによって、人間では到底叶わないような実力を持つプログラムへ進化することができます。まるで人間のような学習能力を持つため、こういったプログラムを人工知能と呼んでいます。
人工知能が注目される背景
人工知能の技術については、何十年も前から科学者はもちろん、物語の世界でも触れられてきました。しかし、近年になって急速にAIが現実の技術となってきているのには理由があります。
一つは、CPUの性能が飛躍的に進化し、複雑な計算を一瞬で行うことができるようになったこと。もう一つが、人工知能の学習に欠かせないビッグデータを、データとして扱うことが可能になったためです。
ビッグデータは、一般的なデータベースではとても管理することができないような、膨大なデータの集積のことを指しています。CPUの性能向上とAI技術が発展したことで、レシートデータや顔写真など、膨大な大きさのデータをデータとして扱い、実用的に扱うことが可能となりました。
ビッグデータは無限の可能性を秘めており、ビッグデータから有用なデータを見つけ出すデータサイエンティストにも注目が集まるなど、ビジネスの観点からも重要視されています。AIは、このビッグデータを扱うための鍵を握る技術なのです。
機械学習とは
有用なAIを構築するため、活用されているのが機械学習と呼ばれる方法です。最も効率的とされるこの方法について解説しましょう。
機械学習の仕組み
機械学習は、膨大な学習データをコンピューターに読み込ませることで、AIの分析能力や認識能力を高めていくアプローチです。
一般的な機械学習の方法として、「教師あり学習」が挙げられます。教師あり学習は、あらかじめ答えを人間が用意しておき、特定の入力に対して正しく出力ができるよう学ばせる方法です。
例えば、「りんご」という果物であるかどうかの判断力を身につけさせたい場合、すでにりんごか否かの答えが伴う複数のデータを用意し、AIへ読み込ませ、「りんご」という果物がどんな特徴を持っているのかを学ばせます。
大量の教師ありデータを読み込ませることで、AIは自動的に「りんごの皮は赤く、葉は緑の果物」ということを理解するようになります。他にも、「教師なし学習」や「教科学習」など、機械学習にはさまざまなアプローチが存在します。
機械学習とビッグデータ
機械学習を円滑に進めていくためには、膨大な量のデータが必要になります。学習用のデータを一から調査やアンケートを通じて集計すると時間もお金もかかってしまいますが、ここで活躍するのが「ビッグデータ」です。
ビッグデータは意図的に集めたものではなく、毎日の生活から必然的に生まれたものを扱うことが一般的です。日々のスーパーの売り上げや駅の利用者数など、ビッグデータは人間の生活行動から自然と誕生します。
これまでは無価値として扱われてきたレシートなども、機械学習の登場でデータを分析し、AIの学習や新たなサービスの提供に扱えるようになったことで、付加価値を産むようになりました。
数年前、レシート買取アプリの「ONE」というサービスが話題になりましたが、そういったサービスも機械学習とビッグデータの登場が大きく関係しています。レシートに大きな付加価値が生まれたために、ビジネスとして消費者からこれらを買取り、データとして企業に販売することが可能になりました。
機械学習とディープラーニングの違い
機械学習が話題となる中、同時に注目されているのが「ディープラーニング」です。ディープラーニングもAIの学習方法の一種と言われていますが、機械学習との使い分けについて、詳しく解説していきましょう。
ディープラーニングとは
ディープラーニングは日本語で「深層学習」と訳されることもありますが、簡単に言えばより複雑な機械学習を行うためのアプローチです。もう少し平たく言えば、ディープラーニングは機械学習の一つの方法です。
元々、機械学習を行うにあたって、人間はあらかじめAIに対して、データから規則性を導くための特徴量を指定していました。特徴量というのは、物事の特徴を数値化したものです。
例えば、人間の年齢や果物の色、あるいは貯金額など、世の中には数値化できるものが数多く存在します。ただ、特徴量を人間が手動で設定するとなると、データを読み込ませるにあたって多くの数値入力作業が発生してしまうこともあります。動物の姿や人間の顔の違いなど、特徴を数値化して入力するには、手間のかかりすぎるトピックもありました。
しかし、ディープラーニングにおいてはこの特徴量をAIが自動的に判断し、基準を決めることができるようになります。その精度は高く、これまで人間が特徴として判断していなかった要素までも基準に適応するため、人間よりも高いレベルで認識や思考ができるようになるのです。
ニューラルネットワークとディープラーニング
このようなディープラーニングの高次元な判断能力を実現しているのが、ニューラルネットワークです。ニューラルネットワークは、人間の神経細胞であるニューロンをもとにして構築されたネットワークです。
「入力層」「出力層」「隠れ層」の3種類から構成されており、それらの間には各ニューロンの重みを表現するWが存在し、ニューロン同士の結びつきの強さを表現しています。隠れ層が何層にも重なることで、より強力な能力を発揮します。
お互いに結びついたニューロンを活用することで、AIはより複雑な判断を行い出力することができます。ディープラーニングによって、人間の知性や判断力に相当する力を、AIは部分的に行使することが可能になったのです。
ディープラーニングの優れた特徴と懸念点
ディープラーニングが実現したことの大きな変化として、AIの学習速度と精度が飛躍的に向上した点が挙げられます。ニューラルネットワークによって、情報を多層的に処理することができるようになったため、その分一つのデータから多くの情報を取得し、学習することが可能になっています。
教師あり学習を行う際、通常の機械学習と同じデータを読み込ませても、ただ「りんごは赤い」ではなく、「りんごの表面は赤くて、大きさはこれくらいで、中身はこうなっている」というところまで判断できるといった具合です。
実際のところ、AIがデータの何を見て物事を判断しているかというのは人間が理解することはできません。AIが自分の中で基準を見つけ、それを判断に応用しているため、具体的に「通常の機械学習とディープラーニングでこれだけの差がある」と言い切ることは難しいのです。
AIがどのような基準で物事を判断しているかが不透明な状態を「ブラックボックス」と呼びます。AIは非常に多くの分野における活躍が期待されていますが、フタを開けてみると、AIがどのようにそのパフォーマンスの出力を実現しているのかは外からは見えません。
このように、AIの出力プロセスがブラックボックスに包まれている事実を考慮して、もう少しAIの運用については慎重になるべきではないかという声もあります。AIは人工物とは言え、その判断には人間の及ばない基準が存在しているため、その責任を製作者が取りきれない可能性があるためです。AIは便利ですが、もはや人智を超えかけているテクノロジーであるとも言えるでしょう。
ディープラーニングの運用で実現できること
このようなディープラーニングのずば抜けた能力を活用することで、さまざまな技術の実現が期待されています。具体的にどういった場面で活用されるのかについて紹介しましょう。
高度な映像解析
ディープラーニングを使うことで、従来の機械学習では実現が難しかった高度な映像解析が行えるようになります。
人間の顔の判別は、実はAIには非常に難しいタスクの一つでした。顔の輪郭や目の色など、人間の顔の特徴は千差万別であるため、その特徴の違いを一つずつ判断するには膨大な学習データを必要としてきました。
しかし、ディープラーニングの導入により、データから得られる学習内容が向上したことで、人間の顔を判断する精度は格段に高まりました。今ではスマートフォンのセキュリティなどに顔認識機能が採用されていますが、こういった機能もディープラーニングによる画像認識精度の向上が要因に挙げられます。
高度な映像解析を行えるようになったことでもう一つ注目されているのが、自動運転技術です。自動運転において最大の難関が、ドライバーの認識能力をどのようにAIで再現するかという問題です。
ドライバーは運転の際、無意識ながらも実に多くの注意を払っています。「車道はどこか」「歩行者が道路上にいないか」「車の大きさはどれくらいか」「目的地まであとどれくらいか」など、注意点を挙げだすとキリがありません。
そして、これらの判断を行う上で、視覚は重要な役割を果たします。自動運転に際しては、自動車にカメラを設置し、リアルタイムで現在の映像をAIで判断する力が鍵を握ります。ディープラーニングによって映像を認識する能力が高まることで、危険回避運動や適切なドライビングの精度も向上が期待できるのです。
自然言語処理
AIに難しいと言われている代表的な処理が自然言語処理です。いわゆる日本語を理解したり、外国語を翻訳するための能力です。
人間が話す言語は非常に定義が難しく、時代やTPOによって表現や話し方や意味が大きく異なります。これまでもGoogle翻訳など、機械翻訳システムはさまざまなモデルが誕生してきましたが、いずれも精度に欠け、参考程度にしか利用することができませんでした。
しかし、ディープラーニングが実装されたことで、自然言語処理も今ではまるで人間が行っているかのような精度で行うことができるようになっています。ディープラーニングを活用して、極限まで翻訳精度を高めている機械翻訳システムの「Deep L」は、その名に恥じないパフォーマンスを発揮してくれます。
複雑な長文はもちろんのこと、「おおきに」や「なんでやねん」など、標準語ではない日本語までも正確に意味を把握し、外国語に翻訳してくれるという精度の高さは、大きな話題を産みました。
自然言語の中でも、日本語は特に機械翻訳が難しいと言われる言語の一つです。Deep Lはすでに日本語も滑らかに翻訳できる精度を獲得しており、今後もユーザー数の増加によって、さらなる精度の向上が期待されています。
まとめ
ディープラーニングは、現在世界中の研究者、そして企業がさらなる活用に向けた研究と実践を繰り返している分野です。人工知能は先端研究だけではなく、民間レベルでも容易に利用することができるようにもなりつつあります。
ディープラーニングの活用についても、今後さらに普及していくことが期待できるでしょう。