對于前面用過的Dense層的堆疊,每層**只能**訪問**上一層**輸出的信息。
如果某一層**丟失**了與分類問題相關的一些信息,那么這些信息無法被后面的層找回,也就是說,**每一層都可能成為信息瓶頸**。
上一個例子使用了16維的中間層,但對這個例子來說16維空間可能太小了,無法學會區分46個不同的類別。
這種維度較小的層可能成為信息瓶頸,永久地丟失相關信息。
出于這個原因,**下面將使用維度更大的層**,包含64個單元。
*****
~~~
model.add(layers.Dense(64, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(46, activation='softmax'))
~~~
*****
* 網絡的最后一層是大小為 46 的`Dense`層。這意味著,對于每個輸入樣本,網絡**都會輸出**一個 46 維向量。這個向量的每個元素(即每個維度)代表不同的輸出類別。
* **最后一層使用了`softmax`激活**。你在 MNIST 例子中見過這種用法。網絡將輸出在 46 個不同輸出類別上的**概率分布**——對于每一個輸入樣本,網絡都會輸出一個 46 維向量,其中`output[i]`是樣本屬于第`i`個類別的**概率**。
* **46 個概率的總和為 1**。
*
*****
`categorical_crossentropy`(分類交叉熵):衡量兩個**概率分布**之間的**距離**,這里兩個概率分布分別是**網絡輸出**的概率分布和標簽的**真實**分布。~~將這兩個分布的距離最小化~~
- 基礎
- 張量tensor
- 整數序列(列表)=>張量
- 張量運算
- 張量運算的幾何解釋
- 層:深度學習的基礎組件
- 模型:層構成的網絡
- 訓練循環 (training loop)
- 數據類型與層類型、keras
- Keras
- Keras 開發
- Keras使用本地數據
- fit、predict、evaluate
- K 折 交叉驗證
- 二分類問題-基于梯度的優化-訓練
- relu運算
- Dens
- 損失函數與優化器:配置學習過程的關鍵
- 損失-二分類問題
- 優化器
- 過擬合 (overfit)
- 改進
- 小結
- 多分類問題
- 回歸問題
- 章節小結
- 機械學習
- 訓練集、驗證集和測試集
- 三種經典的評估方法
- 模型評估
- 如何準備輸入數據和目標?
- 過擬合與欠擬合
- 減小網絡大小
- 添加權重正則化
- 添加 dropout 正則化
- 通用工作流程
- 計算機視覺
- 卷積神經網絡
- 卷積運算
- 卷積的工作原理
- 訓練一個卷積神經網絡
- 使用預訓練的卷積神經網絡
- VGG16
- VGG16詳細結構
- 為什么不微調整個卷積基?
- 卷積神經網絡的可視化
- 中間輸出(中間激活)
- 過濾器
- 熱力圖
- 文本和序列
- 處理文本數據
- n-gram
- one-hot 編碼 (one-hot encoding)
- 標記嵌入 (token embedding)
- 利用 Embedding 層學習詞嵌入
- 使用預訓練的詞嵌入
- 循環神經網絡
- 循環神經網絡的高級用法
- 溫度預測問題
- code
- 用卷積神經網絡處理序列
- GRU 層
- LSTM層
- 多輸入模型
- 回調函數
- ModelCheckpoint 與 EarlyStopping
- ReduceLROnPlateau
- 自定義回調函數
- TensorBoard_TensorFlow 的可視化框架
- 高級架構模式
- 殘差連接
- 批標準化
- 批再標準化
- 深度可分離卷積
- 超參數優化
- 模型集成
- LSTM
- DeepDream
- 神經風格遷移
- 變分自編碼器
- 生成式對抗網絡
- 術語表