iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
1
自我挑戰組

TensorFlow 2 30天自我養成計畫系列 第 14

[Day 14]使用CNN繼續前進!

  • 分享至 

  • xImage
  •  
昨天介紹了有關CNN的知識,坦白說連筆者都有點被搞得霧煞煞了呢!但沒關係,今天筆者想再簡單聊聊CNN的實際應用,相信大家會在更認識什麼是CNN(卷積神經網路)啦!介紹完後會繼續前進,建構相關的環境,那我們就開始囉!

CNN實際應用
其實CNN(卷積神經網路)可應用的範圍相當廣,除了筆者所呈現的影像辨識系統外,囊括了視訊分析、語言辨識(分析語句、分類...等),甚至是著名的AlphaGO都是使用CNN去做到機器的深度學習,可以說是非常廣泛。
與這次使用的影像辨識系統,其實概念也算簡單。大家常見的修圖軟體,有一項功能是銳利化,就是利用CNN(卷積神經網路)去做到圖片銳利化。銳利化就是使用深度學習中的Feature,在訓練模型時,我們需要不斷擷取資料的特徵,再進行分類或預估。所以銳利化的原理很簡單,就是對圖片進行特徵的強化,例如說,筆者今天修一張飛機的照片,原本有些模糊,但藉由銳利化後,部分線條變得更加清楚,這就是將特徵銳利化的結果,這時深度學習後的模型可以對特徵做選擇,並利用特徵來做分類與預估,CNN(卷積神經網路)就是負責對圖片去做擷取特徵,找出最好的特徵再進行分類。如下圖所示:

可以看到前後的差異,機器可以對圖片去做擷取特徵,所以讓銳利化前與後在細部有些差異。

建立模型
要建立卷積神經網路,需輸入以下指令,將會一步步慢慢分析,加油!/images/emoticon/emoticon08.gif

  1. 卷積層1(28X28影像,總共16層)

  2. 池化層1(14X14影像,總共16層)

  3. 卷積層2(14X14影像,總共36層)

  4. 池化層2(7X7影像,總共36層)

  5. 平坦層(1764神經元)

  6. 隱藏層(128神經元)

  7. 輸出層(10神經元)

以上的程式碼即可做出CNN(卷積神經網路),有點複雜,但希望儘可能以簡單的方法讓我們都可以深入了解,加油囉!

Reference: https://medium.com/%E9%9B%9E%E9%9B%9E%E8%88%87%E5%85%94%E5%85%94%E7%9A%84%E5%B7%A5%E7%A8%8B%E4%B8%96%E7%95%8C/%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-ml-note-convolution-neural-network-%E5%8D%B7%E7%A9%8D%E7%A5%9E%E7%B6%93%E7%B6%B2%E8%B7%AF-bfa8566744e9
Reference: https://zh.wikipedia.org/wiki/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C
Reference: 林大貴(2019):TensorFlow+Keras 深度學習人工智慧實務應用。新北市:博碩文化


上一篇
[Day 13]CNN卷積神經網路
下一篇
[Day 15]CNN環境建置Part 1
系列文
TensorFlow 2 30天自我養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言