初心者向けディープラーニングチュートリアル: ニューラルネットワークの基礎

⚡ スマートサマリー

ディープラーニングは、多数の隠れ層を積み重ねた人工ニューラルネットワークに基づいて構築された機械学習の一分野であり、各層は前の層よりもデータのより豊富な特徴を学習します。

  • 🔘 階層型アーキテクチャ: 入力層、2つ以上の隠れ層、および出力層で構成されるネットワークは、ディープネットワークと呼ばれる。
  • ☑️ Signal 力: 重み、バイアス、活性化関数によって、各ニューロンが次の層に何を伝達するかが決定される。
  • 2相ループ: 非線形変換によってモデルが生成され、次に導関数に基づく手法によってそのモデルが改善される。このプロセスは、精度が許容できるレベルに達するまで繰り返される。
  • 🧪 4つのアーキテクチャ: フィードフォワードネットワーク、リカレントネットワーク、畳み込みネットワーク、および強化学習エージェント。
  • 🛠️ 成果が上がるポイント: 金融における信用スコアリング、人事における候補者選考、マーケティングにおけるコールセンターの感情分析。
  • ⚙️ 真の限界: ラベル付けのコスト、膨大なデータセットへの需要、そして平易な言葉での説明を拒むモデル。

初心者向けディープラーニングチュートリアル: ニューラルネットワークの基礎

ディープラーニングとは何ですか?

ディープラーニングは、脳内のニューロンのネットワークを模倣するコンピュータソフトウェアです。 機械学習 表現学習を用いた人工ニューラルネットワークに基づいています。ディープニューラルネットワークを利用するため、ディープラーニングと呼ばれています。この学習は 監督半監視または 監督されない.

深層学習アルゴリズムは、下の図に示すように、連結された層で構成されています。

  • 最初の層は入力層と呼ばれます
  • 最後の層は出力層と呼ばれます
  • その間のすべての層は隠れ層と呼ばれます。「ディープ」という言葉は、ネットワークが2層以上のニューロンを結合していることを意味します。
入力層、2つの隠れ層ニューロン、および出力層を示す深層ニューラルネットワークの図
入力層、隠れ層、出力層があり、個々のニューロン間には接続部が存在する。

各隠れ層はニューロンで構成されています。ニューロンは互いに接続されています。ニューロンは受け取った入力信号を処理し、その結果を上位層に伝達します。次の層のニューロンに伝達される信号の強度は、重み、バイアス、および活性化関数によって決まります。

このネットワークは大量の入力データを取り込み、複数の層を通して処理するため、各層でデータのより複雑な特徴を学習することができる。

深層学習プロセス

深層ニューラルネットワークは、物体検出から音声認識まで、多くのタスクにおいて最先端の精度を実現しています。このようなネットワークは、プログラマーが明示的にコーディングした事前定義済みの知識なしに、自動的に学習することができます。実際には、深層学習プロジェクトは次の5つの段階を経て進められます。

  • 問題を理解する
  • データを特定する
  • 深層学習アルゴリズムを選択してください
  • モデルを訓練する
  • モデルをテストする
問題の理解からモデルのテストまで、5段階の深層学習プロセス

深層学習プロジェクトの5つの段階:問題定義からテストまで

ディープラーニングの概念を理解するために、乳児と両親がいる家族を想像してみてください。幼児は小指で物を指さし、いつも「猫」と言います。両親は子供の教育を心配して、「そう、それは猫だよ」とか「いや、それは猫じゃないよ」と繰り返し言います。幼児は物を指さし続けますが、「猫」と指す精度が上がっていきます。この小さな子供は、心の奥底では、なぜそれが猫だと言えるのか、そうでないのかを知りません。単に、猫を構成する特徴を階層的に整理することを学んだだけなのです。ペット全体を見てから、尻尾や鼻などの細部に注目し、それから判断を下すのです。

ニューラルネットワークもほぼ同じように機能します。各層はより深いレベルの知識、つまり知識の階層構造を表しています。4層のニューラルネットワークは、2層のニューラルネットワークよりも複雑な特徴を学習できます。

学習は XNUMX つのフェーズで行われます。

  • 第1段階: 入力に対して非線形変換を適用し、出力として統計モデルを作成する。
  • 第二段階: 微分に基づく数学的手法でモデルを改善する方法 誤差逆伝播法 重みを調整します。

ニューラルネットワークは、許容できる精度レベルに達するまで、これら2つの段階を数百回から数千回繰り返します。この2つの段階の繰り返しを1回の反復と呼びます。

深層学習の例として、以下の動画をご覧ください。この動画では、モデルがダンスの仕方を学習しようとしています。10分間の学習後、モデルはまだダンスの仕方を理解できておらず、出力は落書きのように見えます。

深層学習トレーニングを10分間行った後、アニメーション化された人物が不規則に動く

2番目のアニメーションが示すように、48時間の学習の後、コンピューターはダンスの技術を習得する。

48時間の深層学習トレーニング後、滑らかに踊るアニメーションキャラクター

ニューラルネットワークの分類

ネットワークはまず、隠れ層の数に基づいてグループ分けされます。

浅層ニューラルネットワーク: 浅層ニューラルネットワークは、入力と出力の間に隠れ層が1つしかない。

深層ニューラルネットワーク: ディープニューラルネットワークは、複数の隠れ層を持つ。例えば、画像認識用のGoogLeNetモデルは22層からなる。

今日、ディープラーニングは自動運転車、携帯電話、 Google 検索エンジン、不正検出、そしてテレビ。

深層学習ネットワークの種類

いくつかのアーキテクチャが標準となっており、それぞれが扱うデータの種類によって形作られています。アシモフ研究所が発表した以下の図は、それらの広範なファミリーを概観したものです。

パーセプトロン、フィードフォワード、RBF、RNN、LSTM、GRU、オートエンコーダーを含むニューラルネットワークアーキテクチャの図

単一パーセプトロンからLSTM、GRU、オートエンコーダーのバリアントまで、ニューラルネットワークアーキテクチャの図表

フィードフォワード ニューラル ネットワーク

これは最も単純なタイプの人工ニューラルネットワークです。このタイプのアーキテクチャでは、情報は一方向、つまり前方にのみ流れます。つまり、情報の流れは入力層から始まり、「隠れ層」を経て、出力層で終わります。ネットワークにはループがなく、情報は出力層で停止します。

リカレント ニューラル ネットワーク (RNN)

An Rnn RNNは、コンテキストノードに情報を格納できる多層ニューラルネットワークであり、データシーケンスを学習して数値または別のシーケンスを出力することができます。簡単に言えば、ニューロン間の接続にループが含まれる人工ニューラルネットワークです。RNNは、出力がメモリとしてネットワークにフィードバックされるため、入力シーケンスの処理に最適です。

出力がメモリとしてネットワークにループバックされるリカレントニューラルネットワークのブロック図

RNNは出力を自身に送り返すため、ネットワークに記憶が備わります。

例えば、「Do you want a …?」という文の次の単語を予測するタスクの場合、ネットワークは次のように処理します。

  • RNNニューロンは、文の開始位置を示す信号を受け取る。
  • ネットワークは「Do」という単語を入力として受け取り、数値のベクトルを生成します。このベクトルはニューロンにフィードバックされ、ネットワークの記憶として機能します。この段階により、ネットワークは「Do」という単語を受け取ったこと、そしてそれが最初の位置で受け取ったことを記憶することができます。
  • ネットワークは、次の単語に対しても同様の処理を行います。「you」という単語を受け取り、次に「want」を受け取ります。ニューロンの状態は、各単語を受け取るたびに更新されます。
  • 最終段階は「a」という単語を受け取った後に行われます。ニューラルネットワークは、文を完成させる可能性のある各英単語に対して確率を算出します。適切に訓練されたRNNは、「café」、「drink」、「burger」などの単語に高い確率を割り当てる可能性が高いでしょう。

RNN の一般的な使用法

  • 証券トレーダーによる分析レポートの作成を支援
  • 財務諸表の異常を検出する
  • 不正なクレジットカード取引を検出する
  • 画像にキャプションを付ける
  • 出力 チャットボット
  • RNNの一般的な用途は、実務者が時系列データやシーケンス(例えば、音声録音やテキストなど)を扱う場合です。

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

A CNN は、独自のアーキテクチャを持つ多層ニューラルネットワークであり、trac各層でデータの複雑な特徴をますます詳細に分析して出力を決定します。CNNは知覚タスクに最適です。

畳み込み、ReLU、プーリングによる特徴学習段階を経て、フラット化、全結合、ソフトマックス分類を行うCNNアーキテクチャ

畳み込み、ReLU、プーリングによる特徴学習。フラット化、全結合、ソフトマックスによる分類。

CNNは、画像などの非構造化データセットがある場合によく使用され、実務者はtracそこから情報を得る。

たとえば、タスクが画像キャプションを予測することである場合:

  • CNNは、例えば猫の画像を受け取ります。コンピューター用語で言えば、この画像はピクセルの集合体であり、一般的にグレースケール画像の場合は1層、カラー画像の場合は3層で構成されます。
  • 特徴学習段階、つまり隠れ層では、ネットワークは猫の尻尾や耳など、固有の特徴を識別します。
  • ネットワークが画像認識方法を完全に学習すると、認識した各画像クラスに対して確率を算出できるようになります。最も確率の高いラベルが、ネットワークの予測結果となります。

強化学習

強化学習 ディープラーニングは、機械学習の一分野であり、仮想的な「報酬」や「罰」を受けることでシステムを訓練し、本質的には試行錯誤によって学習する。これはネットワークの形状というよりは学習パラダイムであり、その最新のアルゴリズムはディープネットワークに基づいて構築されている。 GoogleDeepMindは強化学習を用いて囲碁の人間チャンピオンを打ち負かした。強化学習はビデオゲームにも応用され、より賢いボットを提供することでゲーム体験を向上させている。

最も有名なアルゴリズムには以下のようなものがあります。

  • Qラーニング
  • ディープ Q ネットワーク
  • 状態-行動-報酬-状態-行動 (SARSA)
  • 深い決定論的ポリシー勾配 (DDPG)

以下の表は、それぞれのアーキテクチャがどのような場合に適しているかをまとめたものです。

Archi構造 適切なデータ 特徴 典型的なタスク
フィードフォワード 固定長の表形式入力 ループなし。情報は一方通行で進む。 スコアリングと簡単な分類
リカレントニューラルネットワーク(RNN) シーケンスと時系列 コンテキストノードはメモリを与える テキスト予測、音声、予測
畳み込みニューラルネットワーク(CNN) グリッド状の非構造化データ 畳み込みとプーリングの例tract の特徴 画像分類とキャプション
強化学習 データセットではなく、環境 報酬と罰から学ぶ ゲームエージェント、ロボット工学、制御

ディープラーニングの応用例

これらのアーキテクチャは、すでに非常に多様な業界で実用化されている。

金融における AI

金融テクノロジー分野では、すでにAIを活用して時間短縮、コスト削減、付加価値向上を実現しています。ディープラーニングは、より高度な信用スコアリングを通じて融資業界を変革しつつあります。信用審査担当者は、AIを融資申請審査に活用することで、申請者の性格や返済能力を考慮に入れ、より迅速かつ正確なリスク評価を行うことができます。

Underwriteは、信用判断担当者向けにAIソリューションを提供するフィンテック企業です。underwrite.aiはAIを用いて、どの申請者がローンを返済する可能性が高いかを検出します。同社によれば、この手法は従来のスコアカードよりも優れているとのことです。

HRにおけるAI

アンダーアーマーはスポーツウェア会社で、 revolut採用プロセスをAIで一新し、候補者の体験を現代化しました。アンダーアーマーは2012年に応募が急増し、平均して毎月30,000万件以上の応募を受けていました。これらの応募書類すべてに目を通し、選考と面接のプロセスを開始するのに時間がかかりすぎていました。採用と入社までの長いプロセスは、アンダーアーマーの小売店舗のスタッフを十分に配置し、準備を整え、営業を開始する能力に影響を与えていました。

当時、アンダーアーマーは、人材の調達、応募、採用のためのトランザクションソリューションなど、必須のHRテクノロジーをすべて導入していました。 trac採用活動やオンボーディングには役立つツールが揃っていましたが、それだけでは十分ではありませんでした。アンダーアーマーは、オンデマンド面接とライブ面接の両方に、AIを活用した人事ソリューションを提供するHireVueを選択しました。その結果は目覚ましいもので、採用までの時間を35%短縮しながら、採用するスタッフの質を向上させたと報告しています。

マーケティングにおけるAI

AIは、顧客サービス管理やパーソナライゼーションにおける課題解決のための貴重なツールです。AI技術の応用により、コールセンター管理や通話ルーティングにおける音声認識が向上し、顧客にとってよりスムーズな体験が可能になります。

例えば、音声のディープラーニング分析によって、システムは顧客の感情的なトーンを評価することができます。顧客がAIチャットボットに対して不適切な反応を示した場合、システムは会話を実際の人間のオペレーターに転送し、オペレーターが問題を引き継ぐことができます。

上記の3つの深層学習の例以外にも、AIは他の分野や産業で幅広く活用されている。

ディープラーニングはなぜ重要なのでしょうか?

ディープラーニングは、予測を実行可能な結果へと変換するための強力なツールです。ディープラーニングは、パターン発見と知識ベースの予測において特に優れています。 ビッグデータ はディープラーニングの原動力となる。この2つを組み合わせることで、組織はこれまで達成できなかった生産性、売上、経営、イノベーションの面で成果を上げることができる。

ディープラーニングは、従来の手法を凌駕する性能を発揮することもあります。特に知覚問題においては、ディープネットワークは長年にわたりトップクラスの性能を誇ってきました。画像分類、音声認識、顔認識はいずれもディープアーキテクチャが主流であり、顔認識モデルは標準的な公開ベンチマークにおいて99%近い精度を達成しています。この性能向上は、ネットワークが手作業で設計された特徴量に頼るのではなく、自ら特徴量を学習することによって実現されています。

ディープラーニングの限界

そうした結果には、それなりの代償が伴う。

データのラベル付け

現在のほとんどのAIモデルは教師あり学習によって訓練されています。つまり、人間が基となるデータにラベルを付けて分類する必要があり、これは膨大な量でエラーが発生しやすい作業です。たとえば、企業はAIを開発し、ping 自動運転車の技術開発では、試作車両から得られる何時間にも及ぶビデオ映像に手作業で注釈を付けるために、数百人もの人材を雇用し、システムの訓練を行っている。

巨大なトレーニング データセットを取得する

CNNのような深層学習技術は、場合によっては医学をはじめとする様々な分野の専門家の知識を模倣できることが示されている。しかし、こうした機械学習の波に乗るには、ラベル付けされているだけでなく、十分に広範かつ普遍的な訓練データセットが必要となる。

ディープラーニングの手法では、モデルが分類タスクで比較的高い精度を発揮するには数千件の観測データが必要であり、場合によっては人間のレベルに達するには数百万件もの観測データが必要となる。当然ながら、ディープラーニングは、ペタバイト規模のデータを蓄積するためにビッグデータを活用する巨大テクノロジー企業で最も一般的に用いられている。こうした規模によって、彼らは非常に優れた高精度のディープラーニングモデルを構築できるのだ。

問題を説明する

大規模で複雑なモデルは、例えば特定の決定に至った理由などを人間の言葉で説明するのが難しい場合があります。これは、一部のモデルの受け入れが困難になる理由の一つです。 人工知能 このツールは、解釈可能性が有用または必要とされる応用分野において、処理速度が遅い。

さらに、AI の応用が拡大するにつれて、規制要件により、より説明可能な AI モデルの必要性も高まる可能性があります。

よくあるご質問

クラシック 機械学習 手作業で特徴量を設計する必要があり、小規模な表形式データには適している。ディープラーニングは、構造化されていない生データから特徴量を自動的に学習するが、はるかに多くのサンプルと計算能力を必要とする。

非線形性を導入することで、積み重ねられた層が単一の線形ステップに収束するのではなく、曲線状の決定境界をモデル化できるようになります。隠れ層ではReLUがデフォルトの関数としてよく用いられ、出力はシグモイド関数とソフトマックス関数で整形されます。

バックプロパゲーションは、各重みが誤差にどれだけ寄与したかを測定し、その勾配を層を通して逆方向にたどることで、すべての重みを損失を低減する方向に微調整します。これは、第2段階の動作です。

エポックとは、トレーニングデータ全体を1回処理することです。バッチサイズとは、ネットワークが重みを更新する前に処理するサンプル数です。学習率とは、それぞれの重み更新の大きさを制御するものです。

2017年に登場したTransformerは、リカレンスをアテンションに置き換えることで、すべてのトークンが他のすべてのトークンを同時に参照できるようにします。並列処理が可能であるため、RNNよりもはるかに優れたスケーラビリティを持ち、現在では言語処理や画像処理の分野で主流となっています。

トレーニング処理は主に大規模な行列乗算であり、GPUは非常に高いメモリ帯域幅で並列処理を行います。CNNやトランスフォーマーをCPUから単一のトレーニング用GPUに移行することで、一般的に数倍の高速化が実現します。

ニューラルアーキテクチャ探索ツールとAutoMLツールは、レイヤー数、幅、ハイパーパラメータを試行し、最も検証結果が良好な候補を採用します。これにより、手動での探索作業は大幅に削減されますが、目標と計算予算の設定は依然として人間が行います。

GitHubコパイロット ドラフト TensorFlow および PyTorch のトレーニングループは、短いプロンプトから開始します。入力形状、損失関数、シード値は、生成される定型コードで誤っていることが多いため、ご自身で確認してください。