ニューラルネットワークとは

ニューラルネットワークは、人間の脳の働きを模した方法でデータを処理するようにコンピュータに教える人工知能の一手法です。これは、深層学習と呼ばれる一種の機械学習プロセスであり、人間の脳に似た層状構造で相互接続されたノードやニューロンを使用します。そこから適応型システムが作成され、コンピュータはそれを使用して過ちから学び、継続的に改善することができます。したがって、人工ニューラルネットワークは、ドキュメントの要約や顔の認識などの複雑な問題をより正確に解決しようとします。

ニューラルネットワークが重要な理由

ニューラルネットワークは、限られた人間の支援でコンピュータがインテリジェントな意思決定を行うのに役立ちます。これは、非線形で複雑な入力データと出力データの関係を学習してモデル化できるためです。例えば、次のタスクを実行できます。

一般化と推論を行う

ニューラルネットワークは、明示的なトレーニングなしで非構造化データを理解し、一般的な観察を行うことができます。例えば、次の 2 つの異なる入力文が同様の意味を持っていることを認識できます。

  • 支払い方法を教えてもらえませんか?
  • 送金するにはどうすればよいですか?

ニューラルネットワークは、両方の文が同じことを意味することを知っています。または、Baxter Road が場所であることを広く認識できますが、Baxter Smith は人の名前です。

ニューラルネットワークの用途

ニューラルネットワークには、次のような多くの業界にわたるいくつものユースケースがあります。

  • 医用画像分類による医療診断
  • ソーシャルネットワークフィルタリングと行動データ分析によるターゲットマーケティング
  • 金融商品の履歴データを処理することによる財務予測
  • 電気負荷とエネルギー需要の予測
  • プロセスと品質管理
  • 化合物の同定

以下に、ニューラルネットワークの重要な用途を 4 つ示します。

コンピュータビジョン

コンピュータビジョンは、画像や動画から情報やインサイトを抽出するコンピュータの機能です。ニューラルネットワークを使用すると、コンピュータは人間に似た画像を識別して認識することができます。コンピュータビジョンには、次のような用途がいくつもあります。

  • 自動運転車の視覚認識による、道路標識や他の道路利用者の認識
  • 画像や動画のアーカイブから安全でないコンテンツや不適切なコンテンツを自動的に削除するコンテンツのモデレーション
  • 顔を識別し、開いた目、眼鏡、顔の毛などの属性を認識する顔認識
  • ブランドロゴ、衣類、安全装備、その他の画像の詳細を識別するための画像ラベル

音声認識

ニューラルネットワークは、さまざまな音声パターン、ピッチ、トーン、言語、およびアクセントにもかかわらず、人間の音声を分析できます。Amazon Alexa や自動トランスクリプションソフトウェアなどの仮想アシスタントは、音声認識を使用して次のようなタスクを実行します。

  • コールセンターエージェントを支援し、通話を自動的に分類
  • リアルタイムで臨床会話をドキュメントへ変換
  • コンテンツのリーチを広げるための正確な字幕付きビデオと会議の記録

自然言語処理

自然言語処理 (NLP) は、人間が作成した自然なテキストを処理する機能です。ニューラルネットワークは、コンピュータがテキストデータとドキュメントからインサイトと意味を収集するのに役立ちます。NLP には、次の機能など、いくつものユースケースがあります。

  • 自動化された仮想エージェントとチャットボット
  • 書き込まれたデータの自動編成と分類
  • E メールやフォームなどの長文形式のドキュメントのビジネスインテリジェンス分析
  • ソーシャルメディアでの肯定的なコメントや否定的なコメントなど、感情を示すキーフレーズのインデックス作成
  • 特定のトピックのドキュメントの要約と記事の生成

レコメンデーションエンジン

ニューラルネットワークは、ユーザーアクティビティを追跡して、パーソナライズされたレコメンデーションを作成できます。また、すべてのユーザーの行動を分析し、特定のユーザーが関心を持つ新しい製品やサービスを見つけることもできます。例えば、フィラデルフィアを拠点とするスタートアップである Curalate は、ブランドがソーシャルメディアの投稿を売り上げに変換するのを支援しています。ブランドは、Curalate のインテリジェント製品タグ付け (IPT) サービスを使用して、ユーザーが生成したソーシャルコンテンツの収集とキュレーションを自動化します。IPT は、ニューラルネットワークを使用して、ユーザーのソーシャルメディア活動に関連する製品を自動的に検索して推奨します。消費者は、ソーシャルメディアの画像から特定の製品を見つけるためにオンラインカタログを探す必要はありません。代わりに、Curalate の自動製品タグ付けを用いて、製品を簡単に購入できます。

ニューラルネットワークの仕組み

ニューラルネットワークアーキテクチャの背後でインスピレーションを与えているのは人間の脳です。ニューロンと呼ばれる人間の脳細胞は、複雑で高度に相互接続されたネットワークを形成し、人間が情報を処理するのを助けるために互いに電気信号を送り合っています。同様に、人工ニューラルネットワークは、問題を解決するために連携して機能する人工ニューロンで構成されています。人工ニューロンはノードと呼ばれるソフトウェアモジュールであり、人工ニューラルネットワークはソフトウェアプログラムまたはアルゴリズムであり、その中心でコンピューティングシステムを使用して数学的な計算を解決しています。

シンプルなニューラルネットワークアーキテクチャ

基本的なニューラルネットワークは、次の 3 つのレイヤーで人工ニューロンを相互接続しています。

入力レイヤー

外界からの情報は、入力レイヤーから人工ニューラルネットワークに入ります。入力ノードはデータを処理し、分析または分類して、次のレイヤーに渡します。

非表示レイヤー

非表示レイヤーは、入力レイヤーまたは他の非表示レイヤーから入力を受け取ります。人工ニューラルネットワークは、多数の非表示レイヤーを持つことができます。各非表示レイヤーは、前のレイヤーからの出力を分析し、それをさらに処理して、次の層に渡します。

出力レイヤー

出力レイヤーは、人工ニューラルネットワークによるすべてのデータ処理の最終結果を示します。1 つまたは複数のノードを持つことができます。例えば、バイナリ (はい/いいえ) 分類の問題がある場合、出力レイヤーには 1 つの出力ノードがあり、結果は 1 または 0 になります。ただし、マルチクラス分類の問題がある場合、出力レイヤーは複数の出力ノードで構成されている可能性があります。

ディープニューラルネットワークアーキテクチャ

ディープニューラルネットワーク、または深層学習ネットワークには、数百万の人工ニューロンがリンクされたいくつもの非表示レイヤーがあります。重みと呼ばれる数値は、あるノードと別のノード間の接続を表します。重みは、一方のノードがもう一方のノードを励起する場合は正の数であり、一方のノードが他方を抑制する場合は負の数です。重み値が高いノードは、他のノードにより大きな影響を及ぼします。
理論的には、ディープニューラルネットワークは任意の入力タイプを任意の出力タイプにマッピングできます。ただし、他の機械学習手法と比較して、はるかに多くのトレーニングも必要です。単純なネットワークで必要になる可能性のある数百または数千ではなく、数百万のトレーニングデータの例が必要です。

 

ニューラルネットワークのタイプ

人工ニューラルネットワークは、データが入力ノードから出力ノードにどのように流れるかによって分類できます。以下に例を示します。

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

フィードフォワードニューラルネットワークは、入力ノードから出力ノードへの一方向にデータを処理します。1 つのレイヤーのすべてのノードは、次のレイヤーのすべてのノードに接続されます。フィードフォワードネットワークは、フィードバックプロセスを使用して、時間の経過に伴う予測を改善します。

バックプロパゲーションアルゴリズム

人工ニューラルネットワークは、予測分析を改善するために修正フィードバックループを使用して継続的に学習します。簡単に言えば、ニューラルネットワークのさまざまなパスを介して入力ノードから出力ノードに流れるデータを思い浮かべることができます。入力ノードを正しい出力ノードにマップする正しいパスは 1 つだけです。このパスを見つけるために、ニューラルネットワークはフィードバックループを使用します。これは次のように機能します。

  1. 各ノードは、パス内の次のノードについて推測します。
  2. 推測が正しかったかどうかをチェックします。ノードは、より正確な推測につながるパスに高い重み値を割り当て、誤った推測につながるノードパスに低い重み値を割り当てます。
  3. 次のデータポイントでは、ノードはより高い重みのパスを使用して新しい予測を行い、ステップ 1 を繰り返します。

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

畳み込みニューラルネットワークの非表示レイヤーは、畳み込みと呼ばれる、要約やフィルタリングなどの特定の数学関数を実行します。これらは、画像の認識と分類に役立つ関連する特徴を画像から抽出できるため、画像の分類に非常に役立ちます。新しいフォームは、適切な予測を行うために重要な関数を失うことなく、処理が簡単になります。各非表示レイヤーは、エッジ、色、奥行きなどのさまざまな画像の特徴を抽出して処理します。

ニューラルネットワークのトレーニング方法

ニューラルネットワークトレーニングは、タスクを実行するようにニューラルネットワークを教えるプロセスです。ニューラルネットワークは、ラベル付きまたはラベルなしのデータのいくつかの大きなセットを最初に処理することによって学習します。これらの例を使用することで、未知の入力をより正確に処理できます。

教師あり学習

教師あり学習では、データサイエンティストは、事前に正しい答えを提供するデータセットとラベル付けされた人工ニューラルネットワークを提供します。例えば、顔認識の深層学習ネットワークトレーニングでは、各画像を表す民族、国、または感情に関連するさまざまな用語を使用して、最初に数十万人の顔の画像を処理します。

ニューラルネットワークは、事前に正しい答えを示すこれらのデータセットからゆっくりと知識を構築していきます。ネットワークがトレーニングされた後、これまで処理されたことのない人間の顔の新しい画像の民族的出自や感情について推測を開始します。

ニューラルネットワークのコンテキストでの深層学習とは

人工知能は、人間の知能を必要とするタスクを実行する能力を機械に与える方法を研究するコンピュータサイエンスの分野です。機械学習は、コンピュータに非常に大きなデータセットへのアクセスを提供し、このデータから学習するように教える人工知能技術です。機械学習ソフトウェアは、既存のデータ中のパターンを見つけ、それらのパターンを新しいデータに適用して、インテリジェントな意思決定を行います。深層学習は、深層学習ネットワークを使用してデータを処理する機械学習のサブセットです。

機械学習と深層学習

従来の機械学習手法では、機械学習ソフトウェアが十分に機能するために人間の入力が必要です。ソフトウェアが分析する必要のある関連機能のセットは、データサイエンティストが手動で決定します。これにより、ソフトウェアの機能が制限され、作成と管理が面倒になります。

一方、深層学習では、データサイエンティストは raw データのみをソフトウェアに提供します。深層学習ネットワークは、それ自体で特徴を導き出し、より独立して学習します。テキストドキュメントなどの非構造化データセットを分析し、優先するデータ属性を特定し、より複雑な問題を解決できます。

例えば、ペットの画像を正しく識別するために機械学習ソフトウェアをトレーニングする場合は、次の手順を実行する必要があります。

  • 猫、犬、馬、ハムスター、オウムなど、何千ものペットの画像を手動で見つけてラベルを付けます。
  • 機械学習ソフトウェアに検索する特徴を指示して、消去法で画像を識別できるようにします。例えば、脚の数を数え、目の形、耳の形、尻尾、毛皮などをチェックする場合があります。
  • ラベル付けされたデータセットを手動で評価および変更して、ソフトウェアの精度を向上させます。例えば、トレーニングセットに黒猫の写真が多すぎる場合、ソフトウェアは黒猫を正しく識別しますが、白猫は識別しません。
  • ただし、深層学習では、ニューラルネットワークがすべての画像を処理し、最初に脚の数と顔の形を分析し、最後に尻尾を見て画像内の動物を正しく識別する必要があると自動的に判断します。

AWS の深層学習サービス

AWS 深層学習サービスは、クラウドコンピューティングのパワーを活用して、深層学習ニューラルネットワークを低コストで拡張し、いち早く最適化できるようにします。次のような AWS のサービスを利用して、特定の深層学習アプリケーションを完全に管理することもできます。

  • Amazon Rekognition は、事前にトレーニングされた、またはカスタマイズ可能なコンピュータビジョン機能をアプリケーションに追加します。
  • Amazon Transcribe は、音声を自動的に認識して正確に書き起こします。
  • Amazon Lex は、多くの言語にわたって意図を理解し、会話のコンテキストを保ち、単純なタスクを自動化するインテリジェントなチャットボットを構築します。

Amazon SageMaker で AWS で深層学習ニューラルネットワークを使用開始し、モデルをすばやく簡単に構築、トレーニング、大規模にデプロイしましょう。AWS Deep Learning AMI を使用して、深層学習用のカスタム環境とワークフローを構築することもできます。

無料の AWS アカウントを作成して、今すぐ使用開始しましょう。

AWS の次のステップ