Tensörler, katmanlar ve otomatik kodlayıcılar

Keras ile Deep Learning'e Giriş

Miguel Esteban

Data Scientist & Founder

Keras katmanlarına erişim

# Bir Keras modelinin ilk katmanına erişme
first_layer = model.layers[0]

# Katmanı ve giriş, çıkış ve ağırlıklarını yazdırma print(first_layer.input) print(first_layer.output) print(first_layer.weights)
<tf.Tensor 'dense_1_input:0' shape=(?, 3) dtype=float32>
<tf.Tensor 'dense_1/Relu:0' shape=(?, 2) dtype=float32>
[<tf.Variable 'dense_1/kernel:0' shape=(3, 2) dtype=float32_ref>,
 <tf.Variable 'dense_1/bias:0' shape=(2,) dtype=float32_ref>]
Keras ile Deep Learning'e Giriş

Tensörler nedir?

# Derece 2 tensör (2 boyut) tanımlama
T2 = [[1,2,3],
      [4,5,6],
      [7,8,9]]

# Derece 3 tensör (3 boyut) tanımlama T3 = [[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18], [19,20,21], [22,23,24], [25,26,27]]
Keras ile Deep Learning'e Giriş
# Keras backend’i içe aktarma
import tensorflow.keras.backend as K

# Bir model katmanının giriş ve çıkış tensörlerini alma inp = model.layers[0].input out = model.layers[0].output
# Katman girişlerini çıkışlara eşleyen işlev inp_to_out = K.function([inp], [out])
# Bir girdi veririz ve ilk katmandaki çıktıyı alırız print(inp_to_out([X_train])
# X_train’de örnek başına ilk katman çıktıları
[array([[0.7, 0],...,[0.1, 0.3]])]
Keras ile Deep Learning'e Giriş

Keras ile Deep Learning'e Giriş

Otomatik kodlayıcılar!

Keras ile Deep Learning'e Giriş

Otomatik kodlayıcılar!

Keras ile Deep Learning'e Giriş

Otomatik kodlayıcı kullanım alanları

  • Boyutsallık indirgeme:
    • Girdilerin daha küçük boyutlu gösterimi.
  • Gürültü giderme:
    • Temiz verilerle eğitilirse, yeniden kurarken ilgisiz gürültü süzülür.
  • Anomali tespiti:
    • Görülmeyen girdilerde zayıf bir yeniden kurma oluşur.
  • ...

Keras ile Deep Learning'e Giriş

Basit bir otomatik kodlayıcı kurma

# Sıralı bir model başlatma
autoencoder = Sequential()

# 4 nöronlu gizli katman ve 100 boyutlu girdi katmanı ekleme autoencoder.add(Dense(4, input_shape=(100,), activation='relu'))
# 100 nöronlu çıktı katmanı ekleme autoencoder.add(Dense(100, activation='sigmoid'))
# Uygun kayıpla modeli derleme autoencoder.compile(optimizer='adam', loss='binary_crossentropy')
Keras ile Deep Learning'e Giriş

Kodu çözücüye ayırma

# Girdileri kodlamak için ayrı bir model kurma
encoder = Sequential()
encoder.add(autoencoder.layers[0])

# Tahmin, gizli katmandaki dört nöronun çıktısını döndürür encoder.predict(X_test)
# X_test’teki her gözlem için dört sayı
array([10.0234375, 5.833543, 18.90444, 9.20348],...)
Keras ile Deep Learning'e Giriş

Haydi deneyelim!

Keras ile Deep Learning'e Giriş

Preparing Video For Download...