卷積神經網路(CNNs)|利用 CNNs 進行塗鴉識別

by KC
0 comment

本篇文章將介紹 Quick Draw Recognizer 這個卷積神經網路互動網站,它是一個使用 TensorFlow.js 建立的深度學習網站,並且已經在 Google 的Quick Draw 資料集上進行訓練。此訓練好的模型可將繪製圖像分為以下 100 個類別,使用者可在自己的瀏覽器中執行此預先訓練好的卷積神經網路。

此平台可辨識的類別
此平台可辨識的類別

此卷積神經網路模型包含 3 組卷積層+ 最大池化層,最後在加一個全連接層,下圖顯示了所使用的神經網路的架構。

此平台為卷積神經網路的架構
此平台為卷積神經網路的架構

上圖僅顯示了 2 個卷積層,而模型使用了 3 個卷積層。

  • 活動目的:將手繪圖像經由卷積神經網路(Convolutional Neural Networks, CNNs)處理後進行預測
  • 活動項目:深度學習應用
  • 活動平台:Quick Draw CNN
  • 使用環境:桌上型電腦或筆記型電腦

Step 1 操作畫面:

進入網站後將會看到下方這個互動網頁,在網站左側是您可以繪圖的區域,繪製的圖像會透過卷積神經網路輸出預測的分數,並在右邊預測區顯示您所繪製的圖像,模型預測將機率轉為各項可能類別的百分比,你也可以選擇清除重畫,現在畫一些圖像看看此卷積神經網路運行的效果。

操作畫面
操作畫面

Step 2 畫一個圓:

首先我們畫了一個圓,讓卷積神經網路辨識看看,模型辨識後認為 38.6% 像是線。( 如下圖)。這可能跟它訓練的狀況有關( 例如訓練資料、迭代次數、架構超參數等)。

先畫一個圓,看看辨識效果
先畫一個圓,看看辨識效果

Step 3 畫一個眼睛

當我們試著在當中畫一個點當作眼睛時 (讀者也可以畫一個空心圓圈試看看效果),模型辨識結果可能認為多一個點不像線,反而認為 62.1% 像是圓形 (如下圖)。

開始畫眼睛時,辨識度開始變好了
開始畫眼睛時,辨識度開始變好了

Step 4 畫眼睛及嘴巴:

我們試著將眼睛及嘴巴畫齊全,這時候模型辨識後認為 34.2% 像是笑臉,30.1% 像是餅乾。( 如下圖)。

畫了眼睛及嘴巴後,可以辨識出是笑臉
畫了眼睛及嘴巴後,可以辨識出是笑臉

Step 5 畫耳朵及鼻子:

我們將耳朵、鼻子也補上後,這時候模型認有 84.1% 非常高的機會是臉,笑臉則降為 13.2% ( 如下圖)。

再多畫一些特徵時,系統辨識為臉
再多畫一些特徵時,系統辨識為臉

由於整個卷積神經網路在全連接層後,會經由 softmax 激勵函數,顯示辨識後各類的機率值,我們也可以將機率值轉為百分比的方式顯示。大家可以看到,每一次辨識後,預測區的類別百分比加總後會是 100% ( 也就是機率1)。

這個活動可讓讀者親自操作卷積神經網路(Convolutional Neural Networks, CNNs)的應用,對於剛接觸深度學習的人非常適合。

如果大家想要多了解一些 AI 生成式 AI 的基礎概念,可以參考這一本書《 「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養 ,或是 SimpleLearn|Online 課程,它將帶領讀者不會程式、不會數學也OK!的情況下,了解整個 AI生成式 AI 的相關觀念及應用,不僅可以建立最完整的 AI 入門知識,更是培養 AI 素養的最好學習內容。

如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。

Related Posts

Leave a Comment

error: Content is protected !!