深層学習(ディープラーニング)とは?仕組みや活用例を詳しく解説!
人工知能(AI)関連のニュースで深層学習(ディープラーニング)という言葉をよく耳にすると思います。聞いたことはあるけど、深層学習の仕組みや活用方法はよくわからない方が多いのではないでしょうか?
本記事では深層学習全般について詳しく解説し、さらに企業のAI導入についても解説します。
深層学習(ディープラーニング)とは?
深層学習の概要
深層学習(ディープラーニング)は、人や動物の神経回路をモデルとするニューラルネットワークを多層化したディープニューラルネットワーク(Deep Neural Nerwork:DNN)を用いた機械学習の手法の一つです。ここでいう学習は、重みやバイアスなどニューラルネットワーク内部のパラメータを最適化することを意味します。
深層学習の大きな特性として、従来の機械学習では手動で設定する必要があった「特徴量の定義」を自動で定義します。特徴量とは、データの特徴を定量的に表した数値のことです。例えば、非構造化データの画像データの場合、ピクセルや色彩などが特徴量です。この特性のおかげで深層学習は、機械学習において人間では特徴量を定義しにくい画像やテキストのなどの非構造化データを処理できます。
深層学習の仕組み|ニューラルネットワーク
深層学習はニューラルネットワークを多層化した機械学習の手法の一つです。それでは一体、ニューラルネットワークとは何なのでしょうか?
ニューラルネットワークは、脳内にある神経細胞(ニューロン)とそれを繋ぐ神経回路網(シナプス)を数式的なモデル(アルゴリズム)で表したもので、「入力層」「隠れ層(中間層)」「出力層」から構成され、層と層の間にニューロン同士の結合強度を表す重み「w」があります。
図1 簡易的なニューラルネットワーク
ニューラルネットワークの原理は、任意の入力x1,x2,…,xiにそれぞれ重み w1,w2,…,wiをかけた総和にバイアスθを足した結果zを活性化関数g( )によって非線形に変換して出力(y)します。数式は以下の通りです。
深層学習はニューラルネットワーク中の隠れ層を何層にも増やすことで複雑なタスクを処理できます。100層以上の隠れ層があるモデルが多く存在しますが、隠れ層が多ければ多いほど良いという訳ではなく、タスクに合った適切なモデルの設計が必要です。
深層学習の代表的なネットワークモデル
深層学習の手法の内、代表的なネットワークモデルを三つ紹介します。
畳み込みニューラルネットワーク(Convolutional Neural Network; CNN)
CNNは、画像認識タスクによく用いられ、画像の特徴を抽出する「畳み込み層」・ReLU型の活性化関数層(GELU, Swish, Mishなど)・特徴を分析する「プーリング層」を1ブロックとして構成されるアルゴリズムです。画像処理において、高いパターン認識能力を示し、画像から自動的に特徴抽出を行います。
図3 CNNの構造
CNN(Convolutional Neural Network, 畳み込みニューラルネットワーク)【画像認識】| CVMLエキスパートガイド (cvml-expertguide.net)から引用
再帰型ニューラルネットワーク(Recurrent Neural Network; RNN)
RNNは、自己回帰型の構造を持つニューラルネットワークの総称で、音声や動画データなどの時系列データ(過去のデータが将来のデータに影響を及ぼすデータ)を扱うことができる、再帰的な構造を持つニューラルネットワークを利用したアルゴリズムです。例えば、スマートフォンで文字を入力する際、「明日の」と「天気」を何度も入力すると、「明日の」を入力するだけで「天気」が予測変換されます。
RNNの特徴は、内部に再帰的な構造を持つことで、任意の一連の入力を処理するために内部状態(記憶)を使用できます。RNNの中間層は、通常の入出力の他にループ状の入出力を持ちます。例えば、単語予測をする時、中間層の出力を二つ用意し、片方は通常の単語予測のための出力、もう片方は次の単語予測の時のための出力となります。このループ状の中間層の構造を、「セル(Cell)」と呼びます。
RNNは、文章生成の他にも株価変動や天気予報などの時系列を考慮する必要のあるタスクに活用されています。
図4 RNNのダイアグラム
RNN(再帰型ニューラルネットワーク)| CVMLエキスパートガイド(cvml-expertguide.net)から引用
敵対的生成ネットワーク(Generative Adversarial Networks; GAN)
GANは存在しないデータの作成や変換ができます。また、解像度の低い画像を高くする
こともできます。GANは、生成器(Generator)と識別器(Discriminator)と呼ばれる二つのネットワークが競い合うことで学習します。
生成器(Generator)
ノイズからFake画像を生成する役割。
例えば、画像生成の場合、ランダムなノイズベクトルを受け取り、それを元に新しいFake画像を生成します。
識別器(Discriminator)
生成されたFake画像を本物か偽物かを識別する役割。
例えば、画像生成の場合、入力された画像が実際に存在するもの(Real画像)か、それとも生成モデルによって作られたもの(Fake画像)かを識別します。
GANの学習プロセスは次のように進みます。
生成フェーズ
生成器がノイズからFake画像を生成します。
識別フェーズ
生成されたFake画像とReal画像(トレーニングデータから得られるもの)を識別器に入力します。識別器は、どれが本物でどれが偽物かを識別しようとします。
学習フェーズ
識別器のフィードバックに基づいて、生成器がよりReal画像に近いFake画像を生成できるように学習が進みます。同時に、識別器もRAMとFake画像をより正確に識別できるように学習が進みます。
このようなプロセスが繰り返され、生成器がReal画像に酷似したFake画像を生成できるようになります。GANは画像生成だけでなく、音声、テキスト、その他のドメインにおいても広く利用されています。
図5 GANの概念図
篠崎隆志(情報通信研究機構脳情報通信融合研究センター):GAN―敵対的生成ネットワークの発展 から引用
機械学習やAIとの違いは?
本記事では、深層学習、機械学習、AIの違いを簡単に説明します。
詳しく知りたい方は、下記の過去のブログにアクセスして下さい。
『【初心者対象】AI(人工知能)とは?機械学習(マシンラーニング)や深層学習(ディープラーニング)との違いについて』
以下は過去のブログの抜粋です。
- AIはコンピューターを使って人間の知能を再現する技術や概念
- 機械学習では入力情報から、希望する出力に沿った学習をし、コンピューター自身でモデルを作成
- ニューラルネットワークとは、人間の脳の神経回路の構造を数学的に表現した、機械学習を実行するための手法の一種
- 深層学習は、ニューラルネットワークの中間層が2つ以上存在したもの
深層学習の活用方法は?
画像認識
入力された画像の識別をする技術です。犬の画像を人間が視覚し判断することは簡単ですが、深層学習が発展するまでは人工知能にとって画像の識別はとても難しいタスクでした。
応用例:顔認識、自動運転、物体検知、画像セグメンテーション、医療画像解析など
音声認識
入力された音声をテキストとして出力することや音声を発している人を識別する技術です。
応用例:音声入力、lot家電など
自然言語処理
人間が使用する言語をコンピューターに処理・理解させる技術です。
応用例:チャットボット、自動翻訳など
異常検知
工場の機械などに取り付けられたセンサーから得られるデータを大量に収集・蓄積し、過去のデータと比較し異常があるかどうかを判断する技術です。
応用例:産業オートメーションなど
AI導入のメリットやデメリットは?
ここまで深層学習の概要や活用方法について説明しましたが、AI導入を検討している方などに向けてAI導入のメリット・デメリットを紹介します。
メリット
生産性の向上
単純な作業やケアレスミスが許されない作業は、AIの得意分野です。
ヒューマンエラーはゼロにできませんが、AIを使用することでエラーを確実に減少することが可能です。
また、AIは24時間稼働できるので、多くのアウトプットを生み出すことが可能です。
労働力不足の解消
単純な作業などをAIに置き換え自動化することで、人間の労働負担が軽減し、さらに労働力不足の解消にもなり得ます。
コストの削減
一部の業務をAIに置き換え自動化することで、その分の人件費を削減できます。
例えば、AIチャットボットでは、ユーザーからの質問に自動で24時間対応できます。
安全性の向上
AIを導入することで、「きつい」「汚い」「危険」の要素を持った3Kと呼ばれる過酷な労働環境で働く人の安全性を向上させることが可能です。
デメリット
初期投資の必要性
AIの導入は初期投資が高く、ランニングコストもかかります。
AIを導入してすぐにコストの削減などができることは稀で、通常は継続的に学習しながら運用するので、長い目で見てAIの導入を考えましょう。
雇用の減少
AIができる業務の幅が広がると、置き換われた業務の雇用が減少する可能性が高くなるでしょう。単純な作業やAIが得意とする分野の業務は、将来的に減少すると考えられます。
しかし、AIの浸透によってデータサイエンティストなどの新しく生まれる仕事もあります。
情報漏洩のリスク増大
AIは顧客情報や企業の機密情報などのデータをもとにネットワーク上で学習します。そのため、外部からハッキングやサイバー攻撃を受けると大事な情報を奪われる可能性が高まります。クラウド上でデータを管理している場合は特に注意が必要です。
まとめ
本記事では深層学習とAI導入について詳しく解説しました。
深層学習について
- ニューラルネットワークを多層化した機械学習の手法の1つ
- 機械学習と異なり、特徴量が自動で抽出される
- ニューラルネットワークは、「入力層」「隠れ層」「出力層」によって構成されている
- 代表的なネットワークモデルは、「CNN」「RNN」「GAN」の3つ
- 活用範囲は、「画像・音声認識」「自然言語処理」「異常検知」の分野
- 応用例は、「自動運転」や「lot家電」など
AI導入について
- 主なメリットは、「生産性の向上」「労働力不足の解消」「コストの削減」「安全性の向上」
- 主なデメリットは、「初期投資の必要性」「雇用の減少」「情報漏洩のリスク増大」
深層学習の発展により、これまで不可能だったことが行えるようになっています。多くの分野で役立てることができますが、目的に応じて使い分けることが大切です。
また、AIは魔法のツールではなく、闇雲に導入してはいけません。導入前に入念な検討を行いましょう。
今後もAIは発展し続け、人々の生活をより豊かにするために利用されていくでしょう。