昨天跟大家介紹了一個新玩意兒,那就是Keras,今天再和各位做一些深入解析。今天要談到的是Keras的程式設計模式,畢竟前一篇把Keras講的多方便又多好用,總要告訴人家怎麼個好用法啊,要不然看的到吃不到,豈不是白費口舌。
提到吃的就想到前幾天的晚餐吃披薩,鬆軟的餅皮、酸甜的番茄紅醬、濃郁的起司、再加上青椒、蘑菇、火腿、臘腸、牛肉,不得不說真的是吃的挺滿足的,咳...咳咳不小心扯遠了,那披薩跟Keras到底有什麼關聯呢?其實利用Keras建立深度學習模型,就好比披薩的製作一般層層堆疊,只不過它的程式設計模式讓我們的製作流程更加簡易,跳過了擀製餅皮以及其它備料的過程,只需要直接選擇想要加入的材料種類以及數量即可。
再講下去肚子越來越餓了,就來正式聊聊程式的部分,先引用一張範例圖幫助我們瞭解它的概念:
換成文字說明的話,若要使用Keras建立一個多層感知器(Multilayer perceptron),其實只要三個簡單的步驟:先建出Sequential模型,它是多個神經網路層的線性堆疊,拿剛剛的披薩來想像的話,可能就是裝載豐富配料的餅皮吧;再來就是前面學過的,要加入輸入層和隱藏層,而Keras裡已經有內建許多不同類型的神經網路層了,如同各式各樣的披薩配料,我們只需要挑選自己想要的,填入適當參數就好;最後一步是把輸出層加入模型,就像最後的點綴一樣,做個完美的ending因應需求把資料輸出,大致上就大功告成嘍!