ニューラルネットワークとは?
1 赤い神経 人間の脳のニューラル ネットワークに触発された数学的および計算モデルです。.
人工ニューラル ネットワークは、次の分野で開発されてきました。 人工知能 多くのタスクで使用されています, パターン認識やデータ分類など.
ニューラル ネットワークのしくみ
ニューラルネットワークは以下で構成されています 処理装置 通話 ニューロン.
各ニューロンは、他のニューロンと次のように接続されています。 リンク 彼らが送信すること 標識 それらの間の.
ニューロンとリンクは ペソ それらに関連する, ニューロン間で伝達される信号を変更するために使用される.
ニューラル ネットワークの学習方法
の 学ぶ ニューラルネットワークでは、ニューロン間のリンクの重みを調整することによって行われます.
この調整は、 バックプロパゲーションのアルゴリズム, ネットワーク出力のエラーを最小限に抑えるようにリンクの重みを変更します.
Python でニューラル ネットワークを実装する方法
Python でニューラル ネットワークを実装するために使用できるソフトウェア ライブラリは多数あります。.
最も人気のあるもののいくつかは テンソルフロー, ケラス y PyTorch.
このウォークスルーで, 図書館を利用しよう ケラス のバックエンドで テンソルフロー.
パソ 1: 必要なライブラリをインポートする
初め, このチュートリアルに必要なライブラリをインポートする必要があります.
ライブラリをインポートしましょう ケラス そしていくつかの機能 テンソルフロー 私たちは何を必要としますか.
”’
from keras.models import Sequential
from keras.layers import Dense
テンソルフローを tf としてインポート
”’
パソ 2: ニューラル ネットワークを定義する
このステップでは, ニューラルネットワークのモデルを定義しましょう.
を使用します 赤色ニューロンの完全接続, これは、前の層のすべてのニューロン間に接続されたニューロンの密な層で構成されています.
最初のステップは、 シーケンス オブジェクト. このオブジェクトは、ニューラル ネットワークの構造を定義するために使用されます。.
”’
モデル = シーケンシャル()
”’
次, ニューロンの最初の高密度層をモデルに追加します.
このレイヤーは 100 ニューロン, そして入力層は 784 ニューロン (MNIST 画像の各ピクセルに 1 つ).
関数 密集 ニューロンの密な層を作成するために使用されます.
”’
モデル.追加(密集(100, input_dim=784, アクティベーション='relu'))
”’
次, ニューロンの2番目の密な層を追加します.
このレイヤーは 50 ニューロン.
”’
モデル.追加(密集(50, アクティベーション='relu'))
”’
ついに, 出力レイヤーの追加.
このレイヤーは 10 ニューロン, MNIST データセットの各桁に 1 つ.
このレイヤーで使用する活性化関数は、 ソフトマックス, これは、で使用される活性化関数です。 多クラス分類.
”’
モデル.追加(密集(10, アクティベーション='ソフトマックス'))
”’
パソ 3: モデルのコンパイル
ニューラルネットワークのモデルを定義したら, 必要 コンパイル 学習に使用する前に.
このステップでは, を指定しましょう コスト関数 そしてその オプティマイザ 使用するもの.
の コスト関数 は、モデルが学習でどれだけうまく機能しているかを示す尺度です。.
の オプティマイザ は、ニューラルネットワークの重みを調整するために使用されるアルゴリズムです。.
このウォークスルーで, を使用してみましょう クロスエントロピーカテゴリコスト関数 そしてその 確率的降順勾配オプティマイザー.
”’
モデル.コンパイル(損失 = 'categorical_crossentropy',
オプティマイザ='SGD',
メトリック=[「精度」])
”’
パソ 4: モデルのトレーニング
モデルをコンパイルしたら, 私たちはあなたを訓練する準備ができています.
このウォークスルーで, MNISTデータセットを使用します.
データセットが含まれています 60.000 トレーニング用の手書き数字の画像と 10.000 検証用の手書き数字の画像.
この間にニューラル ネットワークをトレーニングします。 20 季節, を使用します バッチサイズ の 128.
”’
モデル.フィット(x_train, y_train,
バッチサイズ=128,
エポック=20,
validation_data=(x_test, y_test))
”’
パソ 5: モデルを評価する
モデルをトレーニングしたら, テストデータセットでそのパフォーマンスを評価します.
このデータセットには 10.000 手書き数字の画像.
”’
スコア = モデル.評価(x_test, y_test, バッチサイズ=128)
”’
の スコア 返されるのは、2 つの値を持つリストです.
最初の値は、 損失 (コスト関数) テスト データ セット内のモデルの.
2 番目の値は 正確さ (正確さ) テスト データ セット内のモデルの.
”’
プリント(スコア)
ニューラルネットワークの応用
人工ニューラル ネットワーク (アン, 人工ニューラルネットワーク) モデルの家族です 機械学習 の構造と機能に基づいて、 中枢神経系 生物の, 特に、 大脳皮質.
ニューラル ネットワークにはさまざまなアプリケーションがあります。, 最も注目すべきは次のとおりです:
パターン認識
の パターン認識 これは、ニューラル ネットワークの最もよく知られているアプリケーションの 1 つです。. これは、データセット内の特定のパターンを検出して分類できるプロセスです。.
パターン認識の例として、画像内のオブジェクトの認識があります, ドキュメント内の音声認識または文字認識.
自然言語処理
の 自然言語処理 (自然言語処理, 自然言語処理) ニューラルネットワークの別のアプリケーションです. それは分析を担当する分野です, 自然言語の理解と生成.
自然言語処理の例としては、名前付きエンティティの認識があります。, 感情分析または機械翻訳.
異常検出
の 異常検出 ニューラルネットワークの別のアプリケーションです. これは、データセット内の異常または異常なパターンを検出できるプロセスです。.
異常検出の例としては、銀行取引における不正の検出があります。, コンピュータシステムにおける侵入者の検出または製造プロセスにおけるエラーの検出.
時系列予測
の 時系列予測 ニューラルネットワークの別のアプリケーションです. これは、時系列の将来の値を以前の値から予測できるプロセスです。.
時系列予測の例として、株式市場での株価の予測があります。, 市場における製品の需要の予測、または都市におけるエネルギー消費の予測.