
AIは、「開発」から「活用」の時代になりました。2012年にAIの技術であるディープラーニングでブレークスルーが起きてから早8年。AIを活用するためのツールも整備されてきており、いよいよAI研究者やAIエンジニアではない人もAIを使いこなすための環境が整ってきました。
とはいえ、AI活用にはディープラーニングや機械学習といった技術への理解もある程度必要になります。この記事では、「AI」「機械学習」「ディープラーニングの違い」やディープラーニングの種類、活用事例について解説します。AIやディープラーニングに関する基礎知識を押さえ、「業務でどう活用できそうか」という視点で考えるきっかけにしてみてください。
「AI」「機械学習」「ディープラーニング」の違い
まずは、AI・ディープラーニング・機械学習の違いについて説明します。AIについて語られている際によく使われる言葉ですが、意味の広さに違いがあります。
具体的には、「AI>機械学習>ディープラーニング」という包含関係が成り立ちます。それぞれの違いについて詳しく解説していきます。
AI(人工知能)とは
AI(人工知能)とは、人間のような知的な機械を作る科学や技術です。AIは、機械学習やディープラーニングを内包する概念です。
AI研究の歴史は古く、1950年代から始まっていたと言われています。当初はチェスやパズルゲームなどの分野から研究が行われていました。
機械学習とは
機械学習とは、データの特徴を学習し、結果からデータの予測や分類をするための法則性を見つけるアルゴリズムです。
例えば、アイスの売上高を予測をコンピュータにさせたいとします。その際は、「気温」や「天候」といったアイスの売り上げに影響がありそうな項目を洗い出します。そこで、「気温が30度で天気が晴れの日はアイスが100個売れた」とか、「気温が10℃で天気が雨の日はアイスが10個売れた」などのデータをコンピュータが学習していきます。
この繰り返しによって、「どういう条件ならアイスが何個売れるか」ということをコンピュータが学んでいくのです。これが機械学習の仕組みです。
機械学習では、「アイスの売り上げに関係しそうなのは天気とか気温だろう」というように、あくまで人間が必要となるデータについて設計する必要があります。この点を踏まえてディープラーニングの仕組みを学ぶと理解しやすいでしょう。
ディープラーニング(深層学習)とは
ディープラーニングは、機械学習の一分野です。先ほどお伝えしたように、機械学習ではコンピュータに学習させるデータの設計を人間が行う必要があるという課題がありました。
一方で、ディープラーニングとは、データを学習することで自動で注目すべき特徴を抽出し、その予測や分類を行うアルゴリズムです。つまり、機械学習においては人間が設定していた「天気や気温」などの項目を、ディープラーニングでは自動で抽出してくれるのです。
例えば、「与えられた画像を犬か猫か分類したい」というタスクがあったとします。この場合、人間が犬と猫の違いを言語化してコンピュータに教えることは困難です。それはなぜでしょうか?
試しに、犬の特徴をどうやって言葉で説明するか考えてみてください
- 「耳が2個ある」→耳が1個なくなった犬もいる
- 「髭がある」 →白い髭の犬もいれば、黒い髭の犬もいる
- 「毛がフサフサ」→体毛を刈り取ってしまっている犬もいる
このように、画像の分類のようなタスクはいくら言葉で説明しようとしても、例外が出てきてしまうのです。そのため、人間が犬や猫などの画像の特徴を教え込んでいる限り、AIに画像を認識するタスクを行わせることは困難でした。そこの壁を乗り越えたのがディープラーニングです。
ディープラーニングでは、画像を数字の羅列として捉え、その数字の羅列をコンピュータに学習させます。イメージをしていただくために、コンピュータに英文字のIとLを見分けるというタスクで考えてみましょう。※本来はこのタスクよりも複雑な処理をしていますが、イメージを共有するためにシンプルなモデルに簡略化して解説します。
このように、画像を数字の羅列だと捉えることで、コンピュータに人間では理解できない法則を行列演算を用いることで学習させて、画像がIかLかを見分けます(※実際にはマス目が28×28だったり、色の分け方が0〜256まであったりするため、より複雑な計算になります)。このように、ディープラーニングによって人間がデータの法則を教え込まずに、コンピュータが自動で学習するする手法が有効であることが示されたため、AIに応用範囲が大幅に広がりました。
ディープラーニングが開発される前は「猫ならヒゲがある」というようなデータの特徴を人間が教えていたため、データを作成する職人のようなエンジニアがいなくてもAIを利用できるようになりました。応用範囲が広がり、かつデータ作りの職人なしでも実装できるようになったことが、現在AIやディープラーニングが注目されている要因なのです。
ディープラーニングの仕組み
前章では、AIやディープラーニングが注目されているかの背景について紹介しました。ディープラーニングにはさまざまな学習方法があります。ここからは、ディープーニングの仕組みを知っていきましょう。
層の深いニューラルネットワーク
ディープラーニングは、簡単に言えば層の深いニューラルネットワークです。ニューラルネットワークとは、人間の脳の神経回路の仕組みを疑似的に表現したアルゴリズムです。「入力層」「隠れ層」「出力層」の3層からなるネットワークです。
基本的に、ニューラルネットワークで行いたいことは、複雑な行列演算です。複雑な行列演算を行うためのアイデアとして出てきたのが、ニューラルネットワークの層を深くすることです。
ニューラルネットワークの層を深くすることで、複雑なデータ処理が可能になりました。層を深くしたニューラルネットワークなので、ディープラーニングと呼びます。
CNN(畳み込みニューラルネットワーク)
CNNとは、主に画像認識の分野で応用されているニューラルネットワークです。物体検出や領域推定、転移学習でも成果を出しています。
CNNは、ニューラルネットワークに「畳み込み層」と「プーリング層」が交互に多数組み込むことで構成されています。
「畳み込み層」では、入力された画像をある画素の大きさに切り取り、その切り取った部分で計算をして「何が特徴か」を特定し、抽出します。「プーリング層」では、畳み込み層で局所的に抽出された特徴を圧縮し、重要ではない部分を削ぎ落としています。
「畳み込み層」での特徴抽出と、「プーリング層」での重要でない特徴の圧縮を繰り返すことで、画像のような複雑な対象を学習できます。
RNN(リカレントニューラルネットワーク)
RNNとは、自然言語処理の分野で成果を出しているニューラルネットワークです。RNNでは、時系列のデータを活用しています。
時系列データとは、ある時点で計測されたデータをそれぞれが独立したデータとして扱うのではなく、ある時点から前後と関連性があるデータとして捉えることができるデータのことです。
自然言語処理でRNNを活用するためには、さまざまな文章の種類を学習させる必要があります。そうすることで、RNNが単語と単語、文章と文章の関連性を理解し、言語の処理を行うことができます。
LSTM(Long Short Term Memory)
RNNは、自然言語処理の分野で活用されていますが、弱点もあります。それは、時系列データの関連性が長期的なものなのか短期的なものなのか区別できないという点です。その弱点を解消するために、RNNを拡張したLSTMが開発されました。
LSTMでは「隠れ層」の構造を発展させ重要なデータを残し、不要なデータを忘れさせることができるようになりました。そうすることで、データの関連性についての学習が進みました。
ディープラーニングの活用事例
今日では、ディープラーニングを活用したさまざまな応用事例があります。「金融」「製造業」「医療」において使われている事例を紹介していきましょう。
金融でのディープラーニング活用事例
金融の分野では、元々信用度推定などの高度な計算を活用したデジタル技術が事業の中核なので、業務の至るところでディープラーニングの導入が行われています。例えば、次のような分野でディープラーニングの技術が使われています。
- テキストマイニングや音声認識とその意味分析
- パターン認識による異常検知
- データマイニングによるマーケット分析
- 投資戦略の構築
「テキストマイニングや音声認識とその意味の分析」に関しては、主にコールセンターの省力化などを目的に活用されています。例えば、IBMのWatsonなどは代表的な製品です。
また、ディープラーニングで金融取引のパターンを学習させることで、不正な金融取引やマネーロンダリングなどの不正行為とみられる取引があった際に、アラートを出すといった仕組みが構築可能になりました。
さらに、データマイニングという技術でマーケットの分析を行い、不動産の価格形成を予測するモデルの作成や、規制や新たな制度が導入された際の影響を調べるシミュレーションなど、将来のマーケットの状況を予測する取り組みも行われています。
マーケット状況を分析し予測することができるようになり、その知見は投資戦略の構築にも活かされるようになりました。
製造業でのディープラーニング活用事例
製造業でのディープラーニング活用事例では、検査や品質管理で活用されています。
例えば、東芝ではディープラーニングで製造物の品質の予測をしています。製造物の品質や加工条件、設備の温度や圧力設備稼働などによるデータを集めて、品質について予想するものです。
デイープラーニングによって工場のデータのような大量のデータを処理できるようになりました。結果として、「この条件であれば品質が良い」「この条件であれば品質が悪い」ということを予測することができます。
医療でのディープラーニング活用事例
ディープラーニングは100%の精度を保証できない性質上、医療などの分野での導入は難しい面がありますが、主に医師の判断を助ける役割を担う目的で応用されている事例も出てきました。
医療の分野では、患者の診断画像の認識などでディープラーニングが活用されています。例えば、アルツハイマーの人の脳のスキャンや動脈瘤の人の血液のスキャンなどをAIに学習させ、医師の判断を助けています。
ディープラーニングを行うには豊富な計算資源が必要
お伝えした事例からも想像できるように、デイープラーニングでは複雑な計算を行います。そのためには、計算資源が必要です。
例えば、囲碁の棋士に勝利したアルファ碁の消費電力は25万ワットとも言われ、1万2千人が消費する電力量に値します。つまり、ディープラーニングで良い性能を出そうとした場合は、一定以上計算速度が速いコンピュータを使う必要があるのです。
ディープラーニングを行う場合は、GPUというコンピュータを使うことが多いです。GPUを使うことのできるツールはいくつかありますが、「M:CPP」ではベアメタルと専有サーバーという形で、豊富なGPUリソースを利用できます。
AIを利用する上で計算資源をどう確保するかという問題は必ず考える必要があります。
まとめ
「AI」「機械学習」「ディープラーニング」の違いと、ディープラーニングの仕組み、そして応用事例について紹介しました。
ディープラーニングの登場によって、AIの活用領域は大幅に広がりました。さらにAIを利用するためのツールの整備も進み、いよいよどのように業務で応用するかということが重要な時代になってきました。
この記事で紹介した基礎知識を参考に、「どうやったらディープラーニングを業務で使えるか?」という視点で考え、日々の業務に活用してみてください。