'深度學習到底有多深?'

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

深度學習到底有多深?"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

深度學習到底有多深?深度學習到底有多深?"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

深度學習到底有多深?深度學習到底有多深?深度學習到底有多深?

實現同一個功能,可能網絡架構的選擇可以是不一樣,沒有一個唯一的標準。

2. 定義什麼是最好的(定義代價函數)

在第一步搭建好神經網絡架構之後,接下來要做的事情就是確定最優的參數。

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

深度學習到底有多深?深度學習到底有多深?深度學習到底有多深?

實現同一個功能,可能網絡架構的選擇可以是不一樣,沒有一個唯一的標準。

2. 定義什麼是最好的(定義代價函數)

在第一步搭建好神經網絡架構之後,接下來要做的事情就是確定最優的參數。

深度學習到底有多深?

如上圖所示,我們要確定一個模型,就是確定每個神經元紅框內這些參數的值。

我們在模型輸入一個數據,就會得到一個預測值,假設預測值與真實值的誤差為L,那輸入所有訓練數據的誤差就是:總L=L1 + L2 + L3 + L4 + … + Ln。

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

深度學習到底有多深?深度學習到底有多深?深度學習到底有多深?

實現同一個功能,可能網絡架構的選擇可以是不一樣,沒有一個唯一的標準。

2. 定義什麼是最好的(定義代價函數)

在第一步搭建好神經網絡架構之後,接下來要做的事情就是確定最優的參數。

深度學習到底有多深?

如上圖所示,我們要確定一個模型,就是確定每個神經元紅框內這些參數的值。

我們在模型輸入一個數據,就會得到一個預測值,假設預測值與真實值的誤差為L,那輸入所有訓練數據的誤差就是:總L=L1 + L2 + L3 + L4 + … + Ln。

深度學習到底有多深?

備註:上圖的X1不是指單個特徵詳細,而是指輸入的第一張圖片,每張圖片都有256個特徵向量值。

當總誤差最小時(總L最小時),得到的參數就是我們認為最好的參數,因此這就是我們定義什麼是最好的。

3. 找出最優模型(求出最優解)

假設我們的總誤差是一條如上圖的曲線,那我們要怎麼找到她的最小值呢?

"

現在搞AI的公司,不管用什麼樣的算法,都想讓自己跟深度學習扯上點關係,因為這樣好像顯得逼格夠高。目前比較前沿的語音交互、計算機視覺等,就連神壇的Alpha Go的算法都是用深度學習。那究竟深度學習是什麼?到底有多強大?要怎麼實現?本文就跟大家一起討論下。

深度學習到底有多深?

在看接下來的內容之前,如果對機器學習還不瞭解的同學,可以先看下這篇《想入門AI,機器學習你知多少了?》——介紹了機器學習的整體框架,機器學習的步驟,深度學習與機器學習的關係,還有比較詳細的介紹了為什麼會需要人工神經網絡。看完以上的文章再來討論今天的內容可能會更容易理解。

好了,我們言歸正傳。

以下就是我們本次需要談論的內容:

深度學習到底有多深?

01 深度學習一些有趣的應用

1. Face 2 Face

Face2Face是斯坦福大學等學生做的一款應用軟件,這套系統能夠利用人臉捕捉技術,讓你說話的聲音、表情、動作,投射到視頻中的另一個人臉色。

深度學習到底有多深?

如上圖所示,左上角是特蘭普演講的視頻,左下角是模仿者在說話,經過系統處理後,特蘭普的表情和聲音就變成了模仿者的表情和聲音。(大家可以搜下網上的視頻,挺有意思的)

2. 靈魂畫家

深度學習到底有多深?

這個大家可能也見過,就是在原來的圖片上,加上了另外一個圖片的風格特點。

如上圖所示,一張蒙娜麗莎的畫,加上了梵高畫的特徵,就變成了如右邊所示的圖片。

3. AlphaGo

深度學習到底有多深?

這個大家就更熟悉了,2016年3月,AlphaGo與圍棋世界冠軍棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

通過上面的例子大家可以看到,深度學習的應用非常的廣泛,小到很有趣的表情投影,大到圍棋人機大戰。也就是說深度學習的空間很廣,想做一個深度學習的產品也不是我們想象中的那麼深奧,但是要想做得特別強大還是會有很多困難的。

那深度學習究竟是什麼,接下來就和大家詳細討論下。

02 什麼才是深度學習?

在講深度學習之前,我們先要知道什麼是神經網絡,而在講神經網絡之前,我們還得先知道什麼是神經元。

1. 神經元

假設設置函數:Z(x)=W1X1 + W2X2 + W3X3 +…+WnXn + b,(是不是很眼熟,跟我們之前說到的線性方程很相識,不知道這個由來的話,再次建議先看下前面提到的文章)。

則神經元的表示如下:

深度學習到底有多深?

每一個神經元就是一個邏輯迴歸算法。什麼是邏輯迴歸算法,可以參考這篇文章《機器學習之邏輯迴歸》,在此就不展開講了。

2. 神經網絡

深度學習到底有多深?

多個神經元相互連接就組成了神經網絡,每個神經元都通過接收前一層網絡傳遞來的信息,經過處理後,再傳遞給下一層。

按結構來分,神經網絡由:輸入層、隱藏層和輸出層組成。

  • 輸入層:即原始的特徵輸入。
  • 隱藏層:除輸入層和輸出層外,其他的就是隱藏層。
  • 輸出層:後面不再接其他神經元。

3. 深度學習和神經網絡的關係

定義:有多層網絡結構的神經網絡,我們就說是深度學習。

那有多少層才算是深度學習呢?

現在也沒有一個官方的定義,有的人說3層,有的人說5層才算深度網絡,多的高達上百層,反正大家都說自己是在做深度學習,這樣看起來會比較高大尚點。

模組化:深度學習有一個非常重要的思想就是模組化。

那什麼是模組化思想呢?

就像我們玩搭積木,一堆積木可以搭成各種各樣形狀的東西,而深度學習的每一層都是一個組件,可以供其他層靈活調用。

下面用一個例子說明:

假設我們要做一個圖像識別,區分出4類人群:長頭髮的女生、短頭髮的女生、長頭髮的男生、短頭髮的男生。

非模組化的思路:

深度學習到底有多深?

要設計4個基礎的分類器:長髮女、短髮女、長髮男、短髮男,然後就需要找4類型這樣的圖片去訓練機器。但現實中的問題可能是長頭髮的男生會比較少,因此訓練出來的效果可能就不是很好。

模組化的思路:

深度學習到底有多深?

我們可以先訓練好兩個基礎模型:區分男女的分類器、區分長短頭髮的分類器,這樣我們就可以有足夠好的數據去訓練好這兩個分類器。

然後,在下一層區分長髮女、短髮女、長髮男、短髮男的分類器中,我們就可以直接調用前面的模塊的輸出組合了。

模組化的好處:

  • 充分利用數據,比較少的數據就可以訓練出比較好的模型。
  • 訓練時間短,拆分一個模組一個模組的訓練的效率要比一坨訓練高。
  • 靈活調用,訓練好一個模組的時候,可以供多個地方共有參數。

03 深度學習需要怎麼做?

其實這三步跟我們之前討論的線性迴歸的差不多,先定義好模型,然後定義出代價函數,最後用數據訓練,找出最優的參數。主要的不同點是在第一步,怎麼定義網絡架構。

1. 定義網絡架構

在定義網絡架構時,需要考慮幾個問題:

  1. 輸入是什麼?
  2. 輸出是什麼?
  3. 選擇多少層網絡?
  4. 每一層有多少個神經元?
  5. 層與層之間要怎麼連接的?

如何選擇輸入、輸出?

以手寫數字辨識為例說明:

深度學習到底有多深?

假設我們要辨識一張像素是16*16=256的手寫數字圖片,那每一個像素點就是一個特徵變量X,因此輸入就是:X1、X2、X3、X4、…、X256。輸出就是0-9十個數字的概率,然後根據概率最大是那個數字預測結果。

上圖,分別輸出了是數字0-9的概率,而是2的概率最大是0.9,因此機器覺得,這個數字就是2。

如何選擇網絡架構?

最常見的就是全連接,通過訓練再逐步把參數為0的剔除掉。再厲害點的話就是,讓機器自己去學習然後決定用多少層,怎麼去連接。

深度學習到底有多深?深度學習到底有多深?深度學習到底有多深?

實現同一個功能,可能網絡架構的選擇可以是不一樣,沒有一個唯一的標準。

2. 定義什麼是最好的(定義代價函數)

在第一步搭建好神經網絡架構之後,接下來要做的事情就是確定最優的參數。

深度學習到底有多深?

如上圖所示,我們要確定一個模型,就是確定每個神經元紅框內這些參數的值。

我們在模型輸入一個數據,就會得到一個預測值,假設預測值與真實值的誤差為L,那輸入所有訓練數據的誤差就是:總L=L1 + L2 + L3 + L4 + … + Ln。

深度學習到底有多深?

備註:上圖的X1不是指單個特徵詳細,而是指輸入的第一張圖片,每張圖片都有256個特徵向量值。

當總誤差最小時(總L最小時),得到的參數就是我們認為最好的參數,因此這就是我們定義什麼是最好的。

3. 找出最優模型(求出最優解)

假設我們的總誤差是一條如上圖的曲線,那我們要怎麼找到她的最小值呢?

深度學習到底有多深?

求最小值,常見的方法是梯度下降。什麼是梯度下降呢?

類比例子:

假設你現在在大山的某處,你的目標是要到達山的最低谷處,那你需要做事情有兩步:

  1. 根據當前位置,選擇一個向低處的方向。
  2. 根據選擇的方向,走一段距離,再停下來選擇方向。

不斷的重複以上的兩步,最終你可能走到山的最底處。

這裡有兩個需要注意的點:

  • 你根據什麼來選擇方向?
  • 你走多長距離再停下來選擇方向?如果你選擇的距離很小的話,那可能不知道走到猴年馬月你才能走到最低,但是如果你選擇的距離很長的話,有可能你走了最低點還不知道。

那梯度下降也是用同樣的思想來找到最小值的,分兩步:

  1. 選方向:在誤差函數曲線上,隨機取一個點,然後求導,根據導數的正負,決定移動的方向。
  2. 選擇步長:學習率的參數決定步長。

具體梯度下降是怎麼實現的,可以參考這篇文章《機器學習之線性迴歸》,有講到梯度下降的方法,在此就不展開講了。

當然梯度下降只是求解最小值最常用的方法而已,還有其他求最小值的方法,比如:標準函數法等,感興趣的同學可以去了解下。

4. 深度學習的典型代表

在深度學習領域有兩個典型的代表:卷積神經網絡、循環神經網絡。

  • 卷積神經網絡被廣泛的應用在計算機視覺領域,比如說強大的AlphaGo就有用到卷積神經網絡實現。
  • 循環神經網絡則被廣泛的應用在語音識別處理領域,比如說百度翻譯、網絡音樂生產等。

具體卷積神經網絡和循環神經網絡是什麼?具體的結構是怎樣的?又是怎麼運行的?都應用在哪些產品上?我會寫兩篇文章分別單獨介紹,感興趣的同學可以持續關注。

04 深度學習的優缺點和麵臨的困境

優點

深度學習能讓計算機自動學習出模式特徵,並將特徵學習的特徵融入到建模的過程中,從而減少了人為設計特徵造成的不完備性。而目前有些深度學習,已經達到了超越現有算法的識別或分類性能。

缺點

  • 需要大數據支撐,才能達到高精度。
  • 由於深度學習中圖模型比較複雜,導致算法的時間複雜度急劇提升,需要更好的硬件支持。因此,只有一些經濟實力比較強大的科研機構或企業,才能夠用深度學習來做一些前沿而實用的應用。

面臨挑戰

Marcus 在 2018 年對深度學習 的作用、侷限性和本質進行了重要的回顧。他強烈指出了 DL 方法的侷限性——即需要更多的數據,容量有限,不能處理層次結構,無法進行開放式推理,不能充分透明,不能與先驗知識集成,不能區分因果關係。

他還提到,DL 假設了一個穩定的世界,以近似方法實現,工程化很困難,並且存在著過度炒作的潛在風險。

Marcus 認為:DL 需要重新概念化,並在非監督學習、符號操作和混合模型中尋找可能性,從認知科學和心理學中獲得見解,並迎接更大膽的挑戰。

好了,關於深度學習的介紹就到此結束了,如有錯漏歡迎批評指正。

本文由 @Jimmy 原創發佈於人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基於CC0協議。

"

相關推薦

推薦中...