ディープラーニングの基本的な概念と手法についての簡単な説明

ディープラーニングの基本的な概念と手法についての簡単な説明

この記事は、数学的および理論的な詳細にはあまり触れずに、ディープラーニングの基本的な概念を取り上げ、ディープラーニングを直感的かつ簡潔に紹介することを目的としています。もちろん、より深い研究をしたいのであれば、数学は絶対に欠かせませんが、このシリーズでは主に図や類推を用いて、初心者がすぐに全体像を把握できるようにしています。

コアコンセプト

機械学習

機械学習では、(1)データを読み取り、(2)モデルをトレーニングし、(3)モデルを使用して新しいデータに対する予測を行います。トレーニングは、モデルが新しいデータを受け取ったときに、特定の動作を徐々に学習するプロセスと見なすことができます。各ステップで、モデルは予測を行い、その精度に関するフィードバックを得ます。フィードバックは、何らかの測定基準 (正しい解決策からの距離など) によって測定されたエラーの形をとり、予測エラーを修正するために使用されます。

学習は、パラメータ空間内を行ったり来たりしながら進むプロセスです。予測を修正するためにパラメータを調整すると、モデルが再び間違った予測をする可能性があります。モデルが優れた予測機能を持つようになるには多くの反復が必要であり、この「予測修正」プロセスはモデルに改善の余地がなくなるまで継続されます。

機能エンジニアリング

特徴エンジニアリングはデータから有用なパターンを抽出し、機械学習モデルによる分類を容易にします。たとえば、緑または青のピクセル領域のグループが基準として使用され、写真に写っている動物が陸生動物か水生動物かが判断されます。この機能は、考慮する必要があるカテゴリの数を制限するため、機械学習モデルに非常に役立ちます。

ほとんどの予測タスクでは、優れた結果を達成するために特徴エンジニアリングが不可欠なスキルです。ただし、データセットによって特徴エンジニアリングの方法が異なるため、一般的なルールを導き出すのは難しく、大まかな経験しか得られず、特徴エンジニアリングは科学というよりも芸術に近いものになります。あるデータセットの重要な特徴は、別のデータセットでは役に立たない場合があります (たとえば、次のデータセットには植物がたくさん含まれています)。特徴エンジニアリングが非常に難しいからこそ、科学者たちは自動特徴抽出のアルゴリズムを開発しているのです。

多くのタスクはすでに自動化できます (オブジェクト認識や音声認識など)。また、特徴エンジニアリングは、複雑なタスク (Kaggle 機械学習コンペティションのほとんどのタスクなど) にとって依然として最も効果的なテクノロジーです。

機能学習

特徴学習アルゴリズムは、類似したオブジェクト間の共通パターンを探し、分類または回帰のために自動的に抽出します。特徴学習は、アルゴリズムによって自動的に実行される特徴エンジニアリングです。ディープラーニングでは、畳み込み層は画像内の特徴を見つけて次の層にマッピングするのに非常に優れており、複雑さが増す非線形特徴の階層を形成します (例: 円、エッジ -> 鼻、目、頬)。最終層は、生成されたすべての特徴を使用して分類または回帰を実行します (畳み込みネットワークの最終層は、基本的に多項ロジスティック回帰です)。

図 1: ディープラーニング アルゴリズムによって学習された階層的特徴。

各機能はフィルターに相当します。

特徴(鼻など)を使用して入力画像をフィルタリングします。

この特徴が見つかった場合、対応するユニットは高い励起を生成します。

その後の分類段階では、このカテゴリの存在を示す高い指標となります。

図 1 は、ディープラーニング アルゴリズムによって生成された特徴を示しています。珍しいのは、これらの特徴の意味が明確であることです。これは、ほとんどの特徴、特にリカレント ニューラル ネットワーク、LSTM、または非常に深い畳み込みネットワークは理解できないことが多いためです。

ディープラーニング

階層的特徴学習では、非線形特徴の複数の層を抽出し、分類器に渡します。分類器はすべての特徴を統合して予測を行います。層が少ないと複雑な特徴を学習できないため、これらの深い非線形特徴を意図的に積み重ねます。単層ニューラル ネットワークが学習できる最適な特徴は円とエッジであることが数学的に証明されています。これは、単一の非線形変換で伝達できる最も多くの情報が含まれているためです。より有益な特徴を生成するために、これらの入力を直接操作することはできませんが、最初の一連の特徴 (エッジと円) を変換し続け、より複雑な特徴を取得します。

研究により、人間の脳も同じように機能することがわかっています。錐体細胞が情報を受け取る神経の最初の層は、エッジや円に対してより敏感ですが、より深い大脳皮質は、顔などのより複雑な構造に対して敏感です。

階層的特徴学習はディープラーニングより前に誕生しましたが、その構造は勾配消失(非常に深いレベルでは勾配が小さすぎて学習情報を提供できなくなる)など多くの深刻な問題に直面していました。このため、階層構造のパフォーマンスは、従来の機械学習アルゴリズム (サポート ベクター マシンなど) よりも低下します。

勾配消失の問題を解決し、数十の非線形層と機能をトレーニングできるようにするために、多くの新しい方法と戦略が登場しており、「ディープラーニング」という用語はこれに由来しています。 2010 年代初頭、研究者たちは GPU の助けを借りて、活性化関数が深層構造をトレーニングするのに十分な勾配フローを持つことを発見し、それ以来、ディープラーニングは着実に発展してきました。

ディープラーニングは必ずしも深い非線形階層的特徴に結び付けられるわけではなく、シーケンスデータにおける長期的な非線形の時間的依存性にも関連することがあります。シーケンス データの場合、他のほとんどのアルゴリズムは最後の 10 タイム ステップのメモリしか持たないのに対し、LSTM 再帰型ニューラル ネットワーク (1997 年に Sepp Hochreiter と Jürgen Schmidhuber によって発明) では、ネットワークが数百タイム ステップ前のアクティビティをトレースして、正しい予測を行うことができます。 LSTM は 10 年近く隠されていましたが、2013 年に畳み込みネットワークと組み合わせられて以来、その応用は急速に拡大しました。

基本概念

ロジスティック回帰

回帰分析は、統計的な入力変数間の関係を予測して、出力変数を予測します。ロジスティック回帰では、入力変数を使用して、「がん」/「がんなし」などの有限数のカテゴリ変数、または「鳥」/「車」/「犬」/「猫」/「馬」などの画像の種類の出力を生成します。

ロジスティック回帰では、ロジスティック シグモイド関数 (図 2 を参照) を使用して入力値に重みを割り当て、バイナリ予測 (多項ロジスティック回帰の場合はマルチクラス予測) を生成します。

ロジスティック回帰は、非線形パーセプトロンや隠れ層のないニューラル ネットワークに非常に似ています。主な違いは、ロジスティック回帰は、入力変数が特定の統計特性を満たしている限り、解釈が容易で信頼できるということです。これらの統計特性が成り立つ場合、非常に少ない入力データで非常に安定したモデルを作成できます。したがって、ロジスティック回帰は、多くのデータスパースアプリケーションで非常に価値があります。ロジスティック回帰は、医学や社会科学などの分野で実験結果を分析および解釈するために使用されます。ロジスティック回帰はシンプルで高速なので、大規模なデータセットにも適しています。

ディープラーニングでは、分類に使用されるニューラル ネットワークの最後の数層は、通常、ロジスティック回帰です。このシリーズでは、ディープラーニング アルゴリズムを特徴学習のいくつかの段階と見なし、それが分類の入力としてロジスティック回帰に渡されます。

人工ニューラルネットワーク

人工ニューラルネットワークは、(1)入力データを読み取り、(2)変換を実行して加重和を計算し、(3)変換の結果に非線形関数を適用して中間状態を計算します。これら 3 つのステップを総称して「レイヤー」と呼び、変換機能を「ユニット」と呼びます。中間状態(特徴)も別のレイヤーへの入力となります。

これらの手順を繰り返すことで、人工ニューラル ネットワークは多くの層の非線形特徴を学習し、それらを組み合わせて予測を行います。ニューラル ネットワークの学習プロセスでは、エラー信号 (ネットワークの予測値と期待値の差) を生成し、これらのエラーを使用して重み (またはその他のパラメーター) を調整し、予測結果をより正確にします。

カイザー:以下は、近年の習慣の変化を含むいくつかの名詞の分析ですが、これについては深く掘り下げる必要はないと思います。

ユニット

ユニットはレイヤー内の活性化関数と呼ばれることもあり、入力はロジスティック シグモイド関数などの非線形活性化関数によって変換されます。通常、ユニットは複数の入力と複数の出力に接続されますが、複数の活性化関数を含み、特別なレイアウトで非線形関数または最大出力ユニットに接続された長短期記憶 (LSTM) ユニットなどのより複雑なユニットもあります。 LSTM は、入力に対して一連の非線形変換を行った後、最終出力を計算します。プーリング、畳み込み、およびその他の入力変換関数は、一般的にユニットとは呼ばれません。

人工ニューロン

人工ニューロン(またはニューロン)は、神経生物学と人間の脳との密接な関係を示すためだけに「ユニット」と同義語として使用されています。実際、ディープラーニングは脳とほとんど関係がありません。たとえば、生物学的ニューロンは、単一の人工ニューロンではなく、多層パーセプトロン全体に似ていると考えられています。ニューロンは、最も成功したニューラル ネットワークを失敗して放棄されたパーセプトロンと区別するために、昨年の AI の冬の間に提案されました。しかし、2012年以降、ディープラーニングが大きな成功を収めて以来、メディアは「ニューロン」という言葉を頻繁に使用し、ディープラーニングを人間の脳の模倣と比較するようになりました。これは実際には誤解を招きやすく、深層学習の分野にとっては危険です。現在、業界では「ニューロン」という言葉の使用は推奨されておらず、代わりにより正確な「単位」が使用されています。

活性化機能

活性化関数は、重み付きデータ(入力データと重みの行列乗算)を読み取り、データの非線形変換を出力します。たとえば、output = max(0, weight_{data}) は修正された線形活性化関数です (基本的に負の値を 0 に変換します)。 「ユニット」と「活性化関数」の違いは、ユニットの方が複雑になる可能性があることです。たとえば、ユニットには複数の活性化関数 (LSTM ユニットなど) やより複雑な構造 (Maxout ユニットなど) を含めることができます。

カイザー: 原文のこの例は明らかに単純な問題を複雑にしているので、読み飛ばすことをお勧めします。

線形活性化関数と非線形活性化関数の違いは、重み付けされた値のセット間の関係によって反映されます。4 つのポイント A1、A2、B1、B2 を想像してください。ポイント (A1 / A2) と (B1 / B2) は非常に近いですが、A1 は B1、B2、A2 からも遠く離れています。

線形変換後、点間の関係は変化します。たとえば、A1 と A2 は離れますが、同時に B1 と B2 も離れます。ただし、(A1 / A2)と(B1 / B2)の関係は変わりません。

しかし、非線形変換は異なります。A1 と A2 の間の距離を増やし、B1 と B2 の間の距離を縮めることで、より複雑な新しい関係を確立することができます。ディープラーニングでは、非線形活性化関数の各層がより複雑な機能を作成します。

純粋な線形変換は、たとえ 1,000 層あっても、単一の層で表現できます (一連の行列乗算を単一の行列乗算で表現できるため)。これが、非線形活性化関数がディープラーニングにおいて非常に重要である理由です。

レイヤーは、ディープラーニングのより高レベルの構成要素です。 1 つのレイヤーは、重み付けされた入力を受け取り、それを非線形活性化関数を通じて変換し、出力として次のレイヤーに渡すコンテナーです。通常、レイヤーには、活性化関数、プーリング、畳み込みなどが 1 つだけ含まれているため、ネットワークの残りの部分と簡単に比較できます。最初の層と最後の層はそれぞれ「入力層」と「出力層」と呼ばれ、その間の層は「隠し層」と呼ばれます。

畳み込みディープラーニング

畳み込み

畳み込みは、2つの関数または2つの情報を混合するための規則を記述する数学的演算です。(1)特徴マップまたは入力データと(2)畳み込みカーネルを混合して、(3)変換された特徴マップを形成します。畳み込みは、多くの場合、フィルターとしてみなされます。畳み込みカーネルは、特定の情報を見つけるために特徴マップをフィルターします。たとえば、畳み込みカーネルはエッジのみを見つけ、他の情報を破棄する場合があります。

図 3: エッジ検出畳み込みカーネルを使用した画像の畳み込み。

畳み込みは、時間領域と空間領域 (位置 (0,30) のピクセル値 147) および周波数領域 (振幅 0.3、周波数 30 Hz、位相 60 度) をつなぐため、物理学と数学の両方で重要です。このブリッジはフーリエ変換によって確立されます。畳み込みカーネルと特徴マップの両方でフーリエ変換を実行すると、畳み込み演算が大幅に簡素化されます (積分が乗算になります)。

図 4: 画像ウィンドウを画像上でスライドさせて畳み込みを計算します。

元画像(緑)の画像ウィンドウ(黄色)

それを畳み込みカーネル(赤)で乗算して加算します。

特徴マップ内のベクトルを取得する

(畳み込み特徴のピンク色のセル)。

畳み込みは情報の拡散を記述できます。たとえば、かき混ぜずにコーヒーにミルクを注ぐと拡散が発生し、畳み込み(ピクセルが画像の端に向かって広がる)によって正確に説明できます。量子力学では、これは量子の位置を測定するときに量子が特定の位置にある確率を表します (ピクセルが端にある確率が最も高くなります)。確率論では、これは相互相関、つまり 2 つのシーケンスの類似性を表します (特徴 (鼻など) のピクセルが画像 (顔など) と重なる場合、類似性は高くなります)。統計学では、畳み込みは入力データの加重移動平均(エッジでは重みが高く、その他の部分では重みが低い)を表します。他にもさまざまな角度からの説明が数多くあります。

Kaiser: ここでの「エッジ」は、前のエッジとは異なります。元の単語は「輪郭」で、決定境界を指します。たとえば、顔認識の場合、顔の輪郭が輪郭となり、これが認識の焦点となります。

しかし、ディープラーニングの場合、畳み込みのどの解釈が正しいのかはわかりません。現時点では、相互相関の解釈が最も効果的です。つまり、畳み込みフィルターは特徴検出器であり、入力 (特徴マップ) は特徴 (カーネル) によってフィルタリングされ、特徴が検出されると出力が高くなります。これは画像処理における相互相関の説明でもあります。

図 5: 画像の相互相関。

畳み込みカーネルは逆さまになっており、これが相互相関です。

カーネルは特徴検出器として解釈できます。

検出されると高出力(白)が生成されます。

それ以外の場合は低出力(黒)になります。

プーリング/サブサンプリング

プーリング プロセスでは、特定の領域から入力を読み取り、それを単一の値に圧縮します (ダウンサンプリング)。畳み込みニューラル ネットワークでは、情報の集中は有用な特性であるため、出力接続は通常、同様の情報を受け取ります (情報は漏斗のように次の畳み込み層に対応する正しい位置に流れます)。これにより、基本的な回転/平行移動の不変性が実現されます。たとえば、顔が画像の中央ではなくわずかにずれている場合でも、プーリング操作によって情報が正しい位置に配置され、畳み込みフィルターで顔を検出できるため、認識には影響しません。

プーリング領域が大きいほど、圧縮される情報が多くなり、ビデオ メモリに収まりやすい「スリムな」ネットワークが実現します。ただし、プーリング領域が大きすぎると、失われる情報が多くなり、予測能力も低下します。

カイザー: 次のセクションは、上記に挙げた概念を結び付けており、記事全体の要点となっています。

畳み込みニューラルネットワーク (CNN)

畳み込みニューラル ネットワーク (CNN) は、畳み込み層を使用して入力をフィルタリングし、有効な情報を取得します。畳み込み層のいくつかのパラメータは自動的に学習され、最も有用な情報を抽出するためにフィルターが自動的に調整されます (特徴学習)。たとえば、普遍的な物体認識タスクでは、物体の形状が最も有用である可能性があります。一方、人と鳥を識別する場合は、色が最も有用である可能性があります (鳥の形状は似ていますが、色は多様であるため)。

一般的に、画像をフィルタリングするためには複数の畳み込み層が使用され、各層の後に得られる情報はより抽象的になります(階層的な特徴)。

畳み込みネットワークは、プーリング層を使用して、限定的な並進/回転不変性を実現します (オブジェクトが通常の位置にない場合でも、検出できます)。プーリングによりメモリ消費も削減され、より多くの畳み込み層を使用できるようになります。

最近の畳み込みネットワークでは、インセプション モジュール、つまり 1x1 畳み込みカーネルを使用して、メモリ消費をさらに削減し、計算とトレーニングのプロセスを高速化します。

図 6: 交通標識の画像は 4 つの 5x5 畳み込みカーネルによってフィルタリングされます。

4 つの特徴マップが生成され、最大プールされます。

次のレイヤーでは、以前にダウンサンプリングされた画像に 10 個の 5x5 畳み込みカーネルを適用します。

そしてここに集めました。

最後の層は完全に接続された層です。

すべての特徴が結合され、分類器 (基本的にはロジスティック回帰) に渡されます。

インセプション

畳み込みネットワークにおいて、インセプション モジュールの設計の本来の目的は、より高い計算効率で、より深く、より大きな畳み込み層を実行することです。 Inception は 1x1 畳み込みカーネルを使用して、非常に小さな特徴マップを生成します。たとえば、192 個の 28x28 特徴マップは、64 個の 1x1 畳み込みによって 64 個の 28x28 特徴マップに圧縮できます。サイズが縮小されるため、これらの 1x1 畳み込みの後に、3x3、5x5 などのより大きな畳み込みを続けることができます。 1x1 畳み込みに加えて、最大プーリングも次元削減に使用されます。

Inception モジュールの出力では、すべての大きな畳み込みが大きな特徴マップに連結され、次のレイヤー (または Inception モジュール) に渡されます。

<<:  機械学習を活用して人事部門の時間を節約する方法

>>:  機械学習に基づく自動化されたスピアフィッシング戦略

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

大規模モデルは16,000以上の実世界のAPIを習得しており、清華大学などのToolLLMのツール使用能力はChatGPTに劣らない。

ご存知のとおり、オープンソースの大規模言語モデル (LLM) とその派生モデル (LLaMA や V...

予測分析の 4 つの業界における用途

[[436125]]画像ソース: https://pixabay.com/images/id-602...

...

人工知能、VR、音声検索、従来のマーケティングモデルを変える「三銃士」

人工知能と関連技術はマーケティングの未来を変えつつあり、仮想現実 (VR)、音声検索、人工知能はマー...

人工知能が企業コミュニケーションに及ぼす10の影響

職場にソフトウェア ロボットや人工知能 (AI) が導入されると考えると、一部の労働者は不安を感じる...

生成型AIを学ぶ際の7つの課題

生成 AI は変革の原動力となり、機械が達成できるものの限界を押し広げています。テキストや画像の生成...

ズークス、従業員がテスラの企業秘密を盗んだことを認める

[[322566]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

AIで意思決定を自動化するのは超簡単ですか?

人工知能とは何を意味するのでしょうか?人工知能はコンピュータサイエンスの範囲を指し、AI とは、設計...

ブロックチェーン技術を活用してディープフェイク動画の脅威に対抗する方法

デジタル革新が主流の時代において、ディープフェイク動画の増加は広く懸念されるようになっている。ディー...

機械学習が近い将来教育を変える5つの方法

テクノロジーは私たちの生活、仕事、遊び方を変えており、教育も例外ではありません。機械学習は他の分野を...

...

この肖像生成AIは、簡単なスケッチから1秒で本物の顔を生成できる

人工知能技術の発展に伴い、その用途は豊富かつ多様化しており、画像との組み合わせにおいては、AI顔認識...

北京、6つの高速道路を段階的に自動運転試験に開放、安全担当者を段階的に撤退させようとしている

同市は昨年9月に高水準の自動運転実証区を設立したのに続き、インテリジェントコネクテッドカーの政策パイ...

...

深層強化学習における敵対的攻撃と防御

01 はじめにこの論文は、深層強化学習に対する敵対的攻撃に関する研究です。本論文では、著者らは、堅牢...