自己学習2章


tensorflow - 2.7.0/keras - 2.7.0/python - 3.9.7/CUDA - 11.5

1.ニューラルネットワークとの初対面


1-1カラットからMNISTデータセットをロード

from keras.datasets import mnist
(train_images, train_label), (test_images, test_labels) = mnist.load_data()
# train_images와 train_label은 모델이 학습해야 할 훈련세트를 구성
# 모델은 test_images와 test_labels로 구성된 테스트 세트에서 테스트될 것입니다.

実行結果



画像は外付け配列、ラベルは0~9の数字配列で符号化されます.画像とラベルは一対一の関係です.

1~2データセットの表示

#훈련 데이터
print('train_images.shape = ', train_images.shape)
print('len(train_labels) = ', len(train_labels))
print('train_labels = ', train_labels)

#테스트 데이터
print('test_images.shape = ', test_images.shape)
print('len(test_labels) = ', len(test_labels))
print('test_labels = ', test_labels)

実行結果


トレーニングデータテストデータ
  • トレーニングデータをネットワークに注入します.
  • ネットワーク学習は、画像をラベルに関連付ける.
  • ネットワーク要求
  • test images予測
  • test labelに合致するかどうかを予測

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


    ニューラルネットワークのコアコンポーネントは、データ処理フィルタ(レイヤ)である.
    レイヤは、入力されたデータから、所与の問題に対してより意味のある表現(表示)を抽出する.ほとんどの深さ学習は簡単な層で接続され,漸進的なデータ抽出である.
    深度学習モデルは、連続したデータフィルタ(レイヤ)を処理するフィルタのようなものです.

    参考写真


    from keras import models, layers
    
    network = models.Sequential()
    network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
    network.add(layers.Dense(10, activation='softmax'))
    この例では、2つの密接に接続されたニューラルネットワーク層Dense層が連続している.第2層(すなわち最後の層)は、10個の確率スコアの配列(すべて加算して1)を含む.返されるソフトMax(softmax)レイヤ.各スコアは、現在のデジタル画像が10のデジタルクラスの1つに属する確率である.
    現在のコードと後続のコードを完全に理解する必要はありません.第1章で作品の原理部分を深く学ぶの中間層(layer)について説明する.

    1-4コンパイル手順


    ニューラルネットワークは訓練の準備を完了するために,コンパイル段階に3つの側面を含む必要がある.
    更新後