Pytorch-neural-network-basics
PyTorch-ニューラルネットワークの基本
ニューラルネットワークの主な原理には、基本的な要素のコレクション、つまり、人工ニューロンまたはパーセプトロンが含まれます。 これには、x1、x2…などのいくつかの基本的な入力が含まれます。 xnは、合計が活性化ポテンシャルより大きい場合にバイナリ出力を生成します。
サンプルニューロンの模式図は以下のとおりです-
生成される出力は、活性化ポテンシャルまたはバイアスを伴う加重和と見なすことができます。
Output = \ sum_jw_jx_j + Bias
典型的なニューラルネットワークアーキテクチャは次のとおりです-
入力と出力の間のレイヤーは非表示レイヤーと呼ばれ、レイヤー間の接続の密度とタイプが構成です。 たとえば、完全に接続された構成では、レイヤーLのすべてのニューロンがL + 1のニューロンに接続されています。 より明確なローカライズのために、次の層にローカルネイバーフッド、たとえば9つのニューロンのみを接続できます。 図1-9は、密な接続を持つ2つの隠れ層を示しています。
ニューラルネットワークのさまざまな種類は次のとおりです-
フィードフォワードニューラルネットワーク
フィードフォワードニューラルネットワークには、ニューラルネットワークファミリの基本単位が含まれます。 このタイプのニューラルネットワークにおけるデータの移動は、現在の隠れ層を介して、入力層から出力層へと行われます。 1つの層の出力は、ネットワークアーキテクチャのあらゆる種類のループに制限がある入力層として機能します。
リカレントニューラルネットワーク
リカレントニューラルネットワークは、データパターンが一定期間にわたって結果的に変化する場合です。 RNNでは、指定されたニューラルネットワークで入力パラメーターを受け入れ、出力パラメーターを表示するために同じレイヤーが適用されます。
torch.nnパッケージを使用して、ニューラルネットワークを構築できます。
これは、単純なフィードフォワードネットワークです。 入力を受け取り、いくつかのレイヤーを次々に通過させ、最終的に出力を提供します。
PyTorchの助けを借りて、ニューラルネットワークの典型的なトレーニング手順のために次の手順を使用できます-
- 学習可能なパラメーター(または重み)を持つニューラルネットワークを定義します。
- 入力のデータセットを反復処理します。
- ネットワークを介した入力の処理。
- 損失を計算します(出力が正しいことからどれくらい離れているか)。
- 勾配をネットワークのパラメーターに伝播します。 *通常、以下の単純な更新を使用して、ネットワークの重みを更新します
rule: weight = weight -learning_rate* gradient