2020年4月28日 星期二

類神經網路 backpropagtion 演算法簡單講解

JavaScript 實現類神經網路(瀏覽器Deep Learning 好棒棒) - Soul ...


               我想不少人都曾經用過各種不同的函式庫在各種不同的平台上進行人臉辨識或
物件偵測,以前的時候這不是很簡單的技術,就算要直接引用別人
寫的函式庫也是要踩過很多坑才可以,現在這個時代 coding 變得越來越容易了,像是google出的這一款 object detection,簡單易學:

https://chtseng.wordpress.com/2019/02/16/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8google-object-detection-api%E8%A8%93%E7%B7%B4%E8%87%AA%E5%B7%B1%E7%9A%84%E6%A8%A1%E5%9E%8B/
連中學生最喜歡用的 appinventor 都可以做 object detection:
https://www.i-programmer.info/news/105-artificial-intelligence/13174-ai-with-app-inventor.html


如果說到人臉辨識順便也推一下小弟根據dlib包裝的這一套:pyFaceTrace
命令列輸入pip install pyFaceTrace 就可以安裝了喔
相關說明網站:https://reurl.cc/V65WRb

其實大部分的影像識別的演算法或是知名的模型(ex:resNet)都是從 cnn 演變出來的
https://medium.com/@CinnamonAITaiwan/cnn%E6%A8%A1%E5%9E%8B-resnet-mobilenet-densenet-shufflenet-efficientnet-5eba5c8df7e4
而 cnn 又是從 nn (類神經網路) 演化來的,大家在使用函式庫的同時不知道有沒有想過,我們在操作機器學習的黑盒子裡面的運作原理是什麼呢?
現在網路上大多流傳的是捲積(Convolution)及 detector/filter/kernel 概念的解釋,但訓練階段使用的 Gradient Dencent 和推導出來的,倒傳遞演算法(backpropagation)好像比較少人用簡單一點的方式來講解,其實有些網站也是解釋得蠻好的:
https://www.brilliantcode.net/1670/convolutional-neural-networks-4-backpropagation-in-kernels-of-cnns/
https://darren1231.pixnet.net/blog/post/338810666-%E9%A1%9E%E7%A5%9E%E7%B6%93%E7%B6%B2%E8%B7%AF%28backpropagation%29-%E7%AD%86%E8%A8%98
不過對於沒有數學底子的人,光是看算式,可能就快昏倒了
配合全臺首學的直播彩排,小弟預計於 5/6(三) 16:00於
南臺電子系物聯網實驗室進行直播
針對類神經網路 backpropagtion 演算法做簡單的講解
有興趣的人到時候可以連上來觀看
說明連結:
https://reurl.cc/qdrXnn