ニューラルネットワーク-人工知能の未来はどのように見えますか?
公開: 2020-01-14ニューラルネットワークとは何ですか?
生物学的ニューラルネットワークに触発されたこのコンピューティングシステムは、通常はタスク固有のルールでプログラムされることなく、特定の例を考慮してさまざまなタスクを実行することを「学習」します。
ニューラルネットワークは深層学習の機能単位であり、人間の脳の構造に触発されています。 ただし、最近の人工ニューラルネットワークは深層学習の機能単位です。

たとえば、猫の画像の識別などの画像認識。
コンピューティングシステムは、手動で「猫」または「猫なし」とラベル付けされたサンプル画像を分析することにより、猫を含む画像を識別することを学習する場合があります。 結果を使用して他の画像の猫を識別することにより、実際の画像を識別することを学ぶことができます。 彼らは、猫やその特徴についての事前の知識がなくてもこれを行います。たとえば、毛皮、尾、ひげ、猫のような顔をしています。

図2:猫の識別
ディープラーニングは、人間の脳の動作を模倣する人工ニューラルネットワークを使用して、複雑な問題データ駆動型の問題を解決します。 ディープラーニングはそれ自体が機械学習の一部であり、人工知能(AI)の大きな傘下にあります。
機械学習-人工知能(AI)のアプリケーションである機械学習は、明示的にプログラムすることなく、経験から自動的に学習して改善するシステム機能を提供します。 機械学習は、データにアクセスし、それを使用して自分で学習できるコンピュータープログラムの開発に重点を置いています。
学習のプロセスは、例、直接の経験、指導などのデータを観察し始めたときに始まり、将来、より良い意思決定を行うのに役立つパターンを探します。 主な目的は、コンピューターが人間の介入や支援なしに自動的に学習し、それに応じてアクションを調整できるようにすることです。
深層学習–深層学習(深層構造化学習または階層型学習とも呼ばれます)は、人工ニューラルネットワークに基づく機械学習手法の幅広いファミリーの一部です。 ディープラーニングでは、学習プロセスを教師あり、半教師あり、または教師なしにすることができます。 深層学習は、複数のレイヤーを使用して生の入力からより高いレベルの特徴を段階的に抽出する機械学習アルゴリズムのクラスです。
たとえば、画像処理では、下位層がエッジを識別し、上位層が数字、文字、顔などの人間に関連する概念を識別します。
ニューラルネットワークの構造

ニューラルネットワークは、ネットワークのコア処理ユニットであるニューロンで構成されています。 ニューラルネットワークは基本的に、入力層、隠れ層、出力層の3つの異なる層で構成されています。
入力層は、入力がネットワークに供給される層です。 出力レイヤーは、ほとんどの計算が行われる特定の非表示レイヤーの出力を使用します。 これは、バイアスと呼ばれる数値に関連付けられており、入力合計に追加されて、アクティブ化関数と呼ばれるしきい値関数に渡されます。
活性化関数は、特定のニューロンを活性化する必要があるかどうかを決定します。 活性化されたニューロンは、データを次の層に送信します。
チャネルはこれらのニューロン間を接続します。

例を用いたニューラルネットワークの動作
基本的な手順:
- 入力ニューロンは、分類しようとしている情報に基づいて入力を表します。
- 入力ニューロンの各数値には、各シナプス(チャネル)で重みが与えられます。
- 次の層の各ニューロンで、そのニューロンに到達するすべてのシナプスの出力をバイアスとともに追加し、活性化関数(通常はシグモイド関数)を加重和に適用します(これにより、数値は0から1の間の値になります)。
入力合計=(w1 * x1)+(w1 * x2)+(w1 * x3)+ b1はニューロン入力ごとに計算されます - その関数の出力は、次のシナプス層の入力として扱われます
- 出力に到達するまで続行します。
正常な葉や欠陥のある葉などの葉を分類する例を考えてみましょう。
ここでは、状態に基づいて分類するために、システムに葉の画像を提供しています。
画像は、高さと重さが28ピクセルの場合、784ピクセルの28X28ピクセルとして分割され、入力レイヤーに送られるなど、サイズに基づいてチャンクに分割されます。 ただし、この場合、幅は30ピクセル、高さは900ピクセルで、入力レイヤーに送られます。

ある層のニューロンは、合計を計算するために使用されるランダムな重みで別の層に接続されます。 1つのレイヤーの入力合計は、次のレイヤー(非表示レイヤー)に送信され、各非表示レイヤーは、入力合計に追加される数値に関連付けられます。
活性化関数は、どのニューロンが活性化され、どのニューロンが活性化されるかを決定し、そのニューロン値は次の層に渡されます。 これは順伝播として知られています。

出力層では、値の高いニューロンが出力を決定します。 値は基本的に確率値です。 より高い確率値が誤った出力を予測する場合、ネットワークはまだトレーニングされていません。 この場合、それは欠陥のある葉であると判断されるので、それを訓練する必要があり、その後、検出/分類を実行することができます。

バックプロパゲーションは、予測値に基づいて正しい出力を予測するために実行されます。 これは実際の出力と比較されます。 葉を正しく予測するまで、重みが繰り返し割り当てられます。 次に、エラーを最小限に抑えるために重みが再初期化されます。

重みを再初期化した後、予測値の誤差差に基づいて、通常の葉として正確な結果が得られました。
ニューラルネットワークのアプリケーションのいくつか
- Google翻訳
- 顔認識
- 自動運転車
- 物体検出
- 作曲
- 音声認識
- スペルチェック
- 文字認識
利点
- ニューラルネットワークの要素に障害が発生した場合、並列性の助けを借りて問題なく続行できます。
- ニューラルネットワークは学習し、再プログラムする必要はありません。
- どのアプリケーションにも実装できます。
- ニューラルネットワークは、線形計画法では実行できないタスクを実行します。
短所
- ニューラルネットワークを動作させるにはトレーニングが必要です。
- 大規模なニューラルネットワークには長い処理時間が必要です。
- データの量。
