ディープラーニングとは?
Vision Campusのビデオ「機械学習の仕組み」では、機械学習の基礎知識やニューラルネットワークの学習方法についてご紹介しましたが、この記事ではその内容をさらに掘り下げ、ディープラーニングと人工知能を中心に、機械学習に関連する専門用語を詳しく解説します。
1. 人工知能(AI)
エキスパートシステム、パターン認識システム、ロボットなどに搭載されているAIは、人間の動作・思考を模倣し、再現するコンピュータープログラムとして、統計データ解析、ヒューリスティック探索、人工ニューラルネットワーク(ANN)、さらには機械学習関連の各種技術を含め、さまざまな分野で活用されています。
2. 機械学習
大量のサンプルデータによりAIにルールを学習させ、自動化を図る技術のうち、事前にアルゴリズムやルールを作成するものを「機械学習」、人工ニューラルネットワークを利用するものを「ディープラーニング」と呼びます。その学習方法は教師あり学習と教師なし学習の2種類に分けられ、教師あり学習が識別結果などの正解ラベルをサンプルデータに付すのに対し、教師なし学習ではラベルなしでシステム自身に判断を委ねます。
3. ディープラーニング
ディープラーニングは機械学習の一種で、人工ニューラルネットワークを利用することにより、サンプルデータからルールを自己構築(自己学習)させます。一般的にマシンビジョンのニューラルネットワークでは、サンプルデータと正解ラベルをセットにした教師あり学習が採用されています。
ディープラーニングの仕組み
1. 人工ニューラルネットワーク(ANN)
ディープラーニングを行う前には、あらかじめサンプルデータをANNに読み込み、学習させる必要があります。学習が完了したANN(学習済みANN)は、ルールにもとづいたデータ分析(推論)により、画像内の異物などを検出できます。
2. ノード、層、結合
無数のノードが結合し、複数の層を形成しているANNは、最もシンプルな構造のもので、入力層と出力層の2層に分かれています。ネットワーク状につながっているノードは、一種の数式的モデルとして捉えることができます。ノード間の結合には対応する入力値、出力値のほか、重みが設定されており、入力値に重みを掛け合わせることにより、異なる出力結果が生成する仕組みになっています。
3. ディープニューラルネットワーク(DNN)
ディープラーニング用のANNは「ディープニューラルネットワーク」と呼ばれ、入力層、出力層の中間に隠れ層が存在します。隠れ層の値は次の層に送られ、最深層で得られた値が最終的な出力結果となります。
4. 学習
ANNの学習では、サンプルデータを無作為に抽出したうえで、少しずつ追加することが重要になります。学習結果は重みの調整に使用され、これにより入力値と出力値の関係性も変わります。サンプルデータの質は学習効率、ひいては最終的なANNの性能を左右し、データの多様性が増すほど、推論の精度は向上します。同じようなデータしか学習していない場合、ANNは未知のデータに対して正確な判定ができません。このような状態を「過剰適合」といいます。
ディープラーニングの機能
柔軟な活用が可能なディープラーニング。マシンビジョンと組み合わせた場合、その機能の幅はさらに広がり、代表的なものにデータ解析による画像の分類・セグメンテーションがあります。以下では、大人から子どもまで大好きなクッキーの生産工程を例に挙げ、ディープラーニングの具体的な機能について見ていきます。
1. 画像の分類
良否判定、欠陥品の仕分け、画像の選別などを行う機能です。クッキーの生産工程では、クッキー同士がくっついていないか、割れがないかを検査するために活用されています。
2. 画像のセグメンテーション、物体認識
ピクセルごとにラベル付けを行うセグメンテーション機能を利用すれば、買い物カゴの中身や街中の標識、道路、人間だけでなく、生産ライン上のクッキーの形状(丸型、四角形、六角形)まで正確にわかります。
3. 画像処理
画像データの処理もディープラーニングの大きな機能の一つで、画像ノイズの低減からレンズ補正に至るまで、さまざまな不具合を改善できます。