天天看點

R語言中不能進行深度學習?

衆所周知,r語言是統計分析最好用的語言。但在keras和tensorflow的幫助下,r語言也可以進行深度學習了。

在機器學習的語言的選擇上,r和python之間選擇一直是一個有争議的話題。但随着深度學習的爆炸性增長,越來越多的人選擇了python,因為它有一個很大的深度學習庫和架構,而r卻沒有(直到現在)。

但是我就是想使用r語言進入深度學習空間,是以我就從python領域轉入到了r領域,繼續我的深度學習的研究了。這可能看起來幾乎不可能的。但是今天這變成了可能。

随着keras在r上的推出,r與python的鬥争回到了中心。python慢​​慢成為了最流行的深度學習模型。但是,随着keras庫在r後端的釋出,并且在背景還可以使用張力流(tensorflow)(cpu和gpu相容性),是以在深度學習領域,r将再次與python打成平手。

下面我們将看到如何使用tensorflow在r中安裝keras,并在rstudio的經典mnist資料集上建構我們的第一個神經網絡模型。

<b>目錄:</b>

1.在後端安裝帶有張量的keras。

2.使用keras可以在r中建構不同類型的模型。

3.在r中使用mlp對mnist手寫數字進行分類。

4.将mnist結果與python中的等效代碼進行比較。

5.結束筆記。

在rstudio中安裝keras的步驟非常簡單。隻需按照以下步驟,您将很順利的在r中建立您的第一個神經網絡模型。

上述步驟将從github倉庫加載keras庫。現在是将keras加載到r并安裝tensorflow的時候了。

<code>library(keras)</code>

預設情況下,rstudio加載tensorflow的cpu版本。使用以下指令下載下傳tensorflow的cpu版本。

<code>install_tensorflow()</code>

要為單個使用者/桌面系統安裝具有gpu支援的tensorflow版本,請使用以下指令。

現在我們在rstudio中安裝了keras和tensorflow,讓我們在r中啟動和建構我們的第一個神經網絡來解決mnist資料集

<b>2.</b><b>使用keras可以在r中建構的不同類型的模型</b>

以下是使用keras可以在r中建構的模型清單。

1.多層感覺器

2.卷積神經網絡

3.循環神經網絡

4.skip-gram模型

5.使用預先訓練的模型,如vgg16,resnet等

6.微調預先訓練的模型。

讓我們開始建構一個非常簡單的mlp模型,隻需一個隐藏的層來嘗試分類手寫數字。

上述代碼的訓練精度為99.14,驗證準确率為96.89。代碼在i5處理器上運作,運作時間為13.5秒,而在titanx gpu上,驗證精度為98.44,平均運作時間為2秒。

4.mlp使用keras–r vs python<b></b>

為了比較起見,我也在python中實作了上述的mnist問題。我覺得在keras-r和python中應該沒有任何差別,因為r中的keras建立了一個conda執行個體并在其中運作keras。你可以嘗試運作一下下面等效的python代碼。

上述模型在同一gpu上實作了98.42的驗證精度。是以,我們最初猜到的結果是正确的。

<b>5.結束筆記</b><b></b>

如果這是你在r的第一個深度學習模型,我希望你喜歡它。通過一個非常簡單的代碼,您可以有98%位準确率對是否為手寫數字進行分類。這應該是足夠的動力讓你開始深度學習。

如果您已經在python中使用keras深度學習庫,那麼您将在r中找到keras庫的文法和結構與python中相似的地方。事實上,r中的keras包建立了一個conda環境,并安裝了在該環境中運作keras所需的一切。但是,讓我更為激動的是,現在看到資料科學家在r中建立現實生活中的深層次的學習模型。據說 - 競争應該永遠不會停止。我也想聽聽你對這一新發展觀點的看法。你可以在下面留言分享你的看法。

譯者:袁虎,審閱: 阿福