人工智慧與應用實務| 03 :卷積神經網路(CNN)、手寫辨識、Model存取、語音辨識
初探卷積神經網路
先前的神經網路
圖形陣列如下
12345
67890
轉換成
1
2
3
4
5
6
7
8
9
0
原本圖形的Pixel明明在隔壁(1和6),但程式讀不懂圖
▉卷積神經網路(CNN)
所以後來延展出卷積式神經網路(用小張特徵圖kernel去辨識圖形)
讓電腦懂圖>>做一個小視窗(kernel,黃色部分)
把白的想像成1,黑的想像成0,去掃描圖檔(陣列相乘),例如下圖左上第一格是kernel的0乘上圖形白色(1),所以值為0
而向右移動一格,kernel的1乘上圖形黑色(0),所以值為0
以此類推就能做出右邊這個圖(右邊這個圖是拿左邊kernel一次向右或向下移動一個),相對kernel特徵的相似度
池化(pooling)
pooling>>用來縮減資料量用的,但在做pooling會有資料損失,以下這個是使用 最大化(Max-Pooling),只取最大值
_________________________________________________
▉在VS2017 建立一個手寫辨識
把下列資料夾直接拖曳到程式內
創一個html,head放入讓jquery和tensorflow可以運作的網址
先建立一個model,建立卷積
再建立池化,使用最大值方法
然後再做一次卷積,再做一次池化
然後把資料拉成線性放入全連接層
__________________________________
>>待補
20190326 13:16–13:24
_________________________________
▉儲存訓練好的model到瀏覽器
https://github.com/NoobTW/tfjs-tutorials/blob/master/tutorials/model-save-load.md
用model.save(方法 位置)儲存model
可此儲存到以下位置
用以下語法
在瀏覽器上檢查,可以看到以下model 存進瀏覽器內
▉載入model
因為剛剛已經儲存model,所以train、儲存model都可以註解掉,而加入讀取model程式碼>>
model = await tf.loadModel(‘localstorage://my-model-1’);
重新運行後,可以不用重新訓練也可執行原辨識功能
________________________________________________
▉儲存訓練好的model到http或https
送一個post給網址
建一個txt檔案
>>待補
20190326 14:15–14:35
加一行Response.End();
______________________________________________
20190326 15:20
▉語音辨識
https://docs.microsoft.com/zh-tw/azure/cognitive-services/speech-service/
到Azure官網>輸入語音
建立語音服務
取得金鑰(key)
f3872d72e787400995bb18ea65ce0854
https://docs.microsoft.com/zh-tw/azure/cognitive-services/speech-service/quickstart-js-browser
解壓縮資料夾,把裡面資料放入script資料夾,再拖曳放入VS2017
VS加入HTML頁面
貼上MS的語音辨識 HTML內容
把script資料夾 按右鍵 從專案移除
將下列 UI 程式碼新增至您檔案中的第一個註解
放入SDK的html內容 加上 src=” Scripts/..”
修改金鑰和區域
更改語系為繁體中文
執行vs,按按鈕講講話~~