AI
機械学習+ディープラーニングの基礎知識
ビジネスのデジタル活用の核となるAI技術
クラウドやモバイル・ビッグデータといったデジタル技術が発展して、膨大な計算力とデータが活用可能になりました。しかし、従来の人手を中心としたシステムで的確に役立つ情報を取り出そうとしても、膨大な手間と時間がかかってしまいます。
そこで注目を集めているのが、さまざまなビジネス領域でのAI技術の応用です。なかでも機械学習(マシンラーニング)と深層学習(ディープラーニング)によるパターン認識・予測が、かつてない成果を上げています。
一部の分野で人間の知的活動を凌駕する
AIとは、人工知能(Artificial Intelligence)の略称です。言語の理解や推論といった人間の知的活動をコンピュータで行う技術、または研究分野の総称です。しかし、まだ人間のように考えるコンピュータは登場していません。ごく一部の分野で、人間の知的活動を真似できるようになったところです。
一部といえ人間より早く深く結果を出せるようになり、機械学習(マシンラーニング)と深層学習(ディープラーニング)といわれる技術が、かつてない成果を上げて注目を集めています。
機械学習・深層学習で実現できること
現在、次の分野で機械学習・深層学習の実用化が進んでいます。
また、大きく3つの応用が可能と言われています。
-
認識:与えられたデータを識別し、グループ分け・分類・判定などをおこないます。
-
予測:与えられたデータから、次に出現する可能性の高いデータを確率的に予測します。天気予報や売上予測などの用途が想定されます。
-
生成:予測の応用で、与えられたデータから出現する確率の高いデータを生成します。また、認識と生成を交互に繰り返すことで会話のような状況を作り出すこともできます。
いずれも、AIだから万能という訳ではなく、単純な仕組みをうまく組み合わせることで実用的な応用を作り出していると言えるでしょう。
特定用途で効果を発揮する機械学習
機械学習(マシンラーニング:Machine Learning)とは、AIの一分野で、膨大なデータから反復的に学習することで特徴量やパターンを自動的に見つけ出す技術です。
これと対比されるのが、エキスパートシステム(Expert System)です。これは1970年代から80年代にかけてブームになったAI技術です。人間の専門家が意思決定する能力を真似することを目標に、特定の分野についての知識をあらかじめルールとして与えて、そのルールに基づいて推論をおこないます。
機械学習では、ルールを与えるのではなくルールのもとになる大量のデータを与えてコンピュータ自身がそこからパターンを導き出します。
機械学習には、主に3つの学習方法があります。
-
教師あり学習:正解のデータを人間が教えていく学習方法です。正しい結果を学習させることで、入力データに対して正解・不正解を識別できるようになります。また、一定の間隔で連続するデータを学習させることで、同じような入力データを与えたときに次に来るデータの予測が可能になります。
-
教師なし学習:正解のデータを与えない学習方法です。正解がなにかは分かりませんが、特徴量やパターンを学習できます。膨大なデータのグループ分けや、特徴ごとに階層的な分類などで成果を上げています。ただしグループ分けや分類した結果にどのようなラベルを与えるか、別の方法で判断が必要になります。
-
強化学習:正解が与えられていなくても、試行錯誤を繰り返していく学習方法です。現在の状況を観測・評価して、取るべき行動を決めるという過程を繰り返して学習します。教師なし学習と同じように、正解を与えなくても学習が可能で、対戦ゲームやロボットなどに多くの応用例があります。
機械学習と深層学習の違い
現在のAIブームのキッカケとなったのが深層学習(ディープラーニング、Deep Learning)です。2010年代に、画像認識などで、これまでの手法を圧倒する成績を叩き出して注目を集めました。
機械学習では、特徴量の抽出をすべて人間が設定する必要がありました。これに対して深層学習では、プログラム自体が大量のデータのインプットと特徴量抽出を繰り返すことで「特徴量」の学習を行います。
つまり膨大な学習データを用意できれば、そこからプログラムが特徴量を抽出して、認識パターンを学習できるようになったのです。そして、クラウドコンピューティングで利用可能になった膨大なコンピュータ資源とインターネットで収集可能になった膨大な学習データを組み合わせることで、かつてない精度でパターン認識が可能になったのです。
オープンソースの機械学習ライブラリの登場
こうした機械学習・深層学習の手法に対応したオープンソースのライブラリが登場しています。たとえば、Googleが開発したTensorFlow、Facebookが開発したPyTorchなどがあります。
なかでも深層学習の中核となる技術が、畳み込みニューラルネットワーク(CNN : Convolutional neural network)です。人間の脳の仕組みをモデルにしたパターン認識技術の一種をニューラルネットワークと呼び、このニューラルネットワークに、特定の形状に反応する畳み込み層(Convolution Layer)と位置のずれを吸収するプーリング層(Pooling Layer)を備えたのが畳み込みニューラルネットワークです。
機械学習モデルの開発プロセス
TensorFlowなどの機械学習ライブラリを使うことで、次のようなプロセスで独自の機械学習モデルを開発することができます。
ここで、ポイントになるのは、次の3つです。
まずは、良質な学習データを大量に集めること。対象領域にも寄りますが数万点以上の学習データを用意して、それを整理・整頓する必要があります。教師あり学習の場合は、ラベルなどを割り振るアノテーションもおこないます。
続いて、学習モデルの構築で用途に応じて適切な評価関数とパラーメータを設定すること。学習モデルには数百点以上の調整可能なパラメータがあり、それを適切に設定しないと認識精度は上がりません。このあたりは経験がものをいうので、当社が得意とするところです。
実際に学習させるためにGPUなどを備えた高性能のコンピュータが必要になること。手元のパソコンでも簡単な実験はできますが、実用のためにはクラウド上の機械学習用コンピュータ資源を確保します。
現在のAI技術には、まだまだ得意な分野と技術的な限界があります。高い精度で効果を発揮するには、現実の問題にあわせた試行錯誤も不可欠です。すでに多くの企業がAI技術の応用に取り組んいきましたが、実証実験(PoC:Proof of Concept)どまりのところもたくさんありました。
経験豊富なパートナーと共に、ビジネス上の価値を見つけてじっくりと育てていくことが不可欠でしょう。