Neural Networks

5577 ワード

📝 じんこうニューラルネットワーク


1.人工神経ネットワークとは?


機械学習と認知科学における生物学的ニューラルネットワーク(脳)からインスピレーションを得る統計学学習アルゴリズム.

2.パーセプトロンとは?


脳ニューラルネットワークの小構造ニューロンを模倣した人工ニューロンは,複数の信号を入力として受信し,1つの信号を出力する.ニューラルネットワークの起源となるアルゴリズムです.
🔎 더 알아보기
Neuron: 신경계를 구성하는 세포이며, 전기적 및 화학적 신호를 통해 정보를 처리하고 전송한다.

3.ニューラルネットワーク構造


  • Input layer
    データセットから入力を受信するレイヤで、計算を実行せずに値だけを渡すという特徴があります.
    ニューラルネットワークの層数(深さ、深さ)を計算する場合、入力層は含まれません

  • Hidden layer
    入力レイヤと最後の出力レイヤの間のレイヤでは,ユーザは計算結果を見ることができない.(hidden)
    深い学習は,2つ以上の隠匿層を持つニューラルネットワークを意味する.

  • Output layer
    結果出力を処理するレイヤは、ノードの数やシェイプによってモデルの定義が異なる場合があり、ほとんどがアクティブ化関数があります.

  • アクティブ化関数
    入力信号の総和を出力信号に変換する関数としては、Sigmoid、ReLU、Softmaxなどがある.
    通常、非表示レイヤはRELU、出力レイヤはSigmoid、Softmaxを使用します.
  • - 회귀 문제: 예측할 목표 변수가 실수값인 경우 활성화함수가 필요하지 않으며 출력노드의 수는 출력변수의 갯수와 같다.
    - 이진 분류 문제: 시그모이드(sigmoid) 함수를 사용해서 출력을 확률 값으로 변환하여 부류(label)를 결정한다.
    - 다중클래스 분류 문제: 출력층 노드가 부류 수만큼 존재하며 소프트맥스(softmax) 함수를 활성화 함수로 사용한다.

  • そんしつかんすう
    実際の値と予測値の違いを数値化する関数.
    誤差が大きいほど損失関数の値が大きくなり,誤差が小さいほど損失関数の値が小さくなる.
    多分類=分類クロスエントロピーまたは疎分類クロスエントロピー
    バイナリ分類=バイナリ分類損失関数

  • iteration
    これは、1-epochを完了するために必要なミニ配置の数を意味し、この単位が繰り返されるにつれてモデルがますます良くなることを意味します.

  • epoch
    すべての学習データセットを学習する回数を意味します.
  • AND GATE


    入力信号がいずれも1の場合は1を出力します.

    NAND GATE


    ANDゲートの結果とは逆に、入力信号が1の場合は0を出力します.

    OR GATE


    1つの入力信号のみが1であっても、1が出力される.

    XOR GATE


    入力信号が1を同時に出力しない.
    AND(NAND(x1, x2), OR(x1, x2))

    機械学習と深い学習の違いは何ですか。


    機械学習は手動で学習データを提供することができる.
    深さ学習は分類に用いるデータを自分で学ぶことができる.(representation learning)

    4.逆伝播とは?


    出力されたベクトルを目標値と比較した後,誤差を計算し,誤差を逆伝搬し,各重み付け値を更新する過程である.

    5.偏微分とは何ですか。


    偏微分とは,多変数関数の特定変数を除く他の変数を定数として微分することである.微分を用いた理由は,誤差を低減するためにニューラルネットワークの最適パラメータ(重み付け,オフセット)を探すためである.これにより重み付けパラメータの損失関数の傾きを求めることができる.

    6.モデルを学ぶとき、どのように「オーバーフィット」を克服しますか?(一般的なポリシー)


    1. Early stopping
    観察項目に改善がないと判断した場合は,学習を早期に終了する.
    2. Dropout
    非表示レイヤでノードを使用して学習しない(likeコンビネーション)
    3. Weight decay
    ウェイト学習半径は、損失関数にウェイトに関連する項目を追加することによって調整されます.
    4. Weight constraint
    Weightの範囲を指定してweightサイズを制限

    7.加重初期化


    モデルの初期精度に大きな影響を及ぼし,ニューラルネットワークモデルの性能を改善する要因の一つである.
    ゼロ初期化、ランダム初期化、Xavier初期化、He初期化など.

    📝 Code Review


    32ノードの入力レイヤ.
    64個、256個のノード(=合計2個)を含む各非表示レイヤ.
    5種類のデータを持つニューラルネットワーク
    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Dense
    
    model = Sequential([
        Dense(64, activation='sigmoid', input_dim=32),
        Dense(256, activation='sigmoid'),
        Dense(5, activation='softmax')
    ])
    
    model.compile(optimizer='sgd', loss='sparse_categorical_crossentropy', metrics=['acc'])
     
    results = model.fit(X,y, batch_size=batch_size, epochs=100)