一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

TensorFlow發(fā)布語音識別入門教程,附1GB數(shù)據(jù)集&代碼

 昵稱16619343 2017-08-28

機械雞的雞友經(jīng)常問:如何開始入門深度學習語音和其他音頻識別,例如關(guān)鍵字檢測或語音命令。

雖然有一些偉大的開源語音識別系統(tǒng),如Kaldi可以使用神經(jīng)網(wǎng)絡作為一個組件,但它們的復雜性,使得它們難以被用來作簡單任務的指南。

目前,找不到免費且公開的數(shù)據(jù)集及教程,讓初學者入門(許多需要在神經(jīng)網(wǎng)絡模型可以構(gòu)建之前進行預處理),或者非常適合簡單的關(guān)鍵字檢測。

為了解決這個問題,TensorFlow和AIY團隊創(chuàng)建了語音命令數(shù)據(jù)集,并用于將訓練*和推理示例代碼在TensorFlow中運行。(https://aiyprojects./)

該數(shù)據(jù)集在AIY網(wǎng)站,由成千上萬的用戶,上傳了包含30個詞的65000條語音數(shù)據(jù),每條數(shù)據(jù)長度為一秒。數(shù)據(jù)集可以為應用程序構(gòu)建基本但有用的語音界面,其中包含“yes”、“no”,'up'和'left'等常用單詞。

想要練手的雞友,要下載預先構(gòu)建的TensorFlow Android應用程序演示,并開啟“TF語音”。你將被要求訪問麥克風的權(quán)限,然后查看一個十個單詞的列表,每個單詞應該對應你說的話。

結(jié)果將取決于你的語音模式是否被數(shù)據(jù)集覆蓋,因此可能不完美 - 商業(yè)語音識別系統(tǒng)比此教學示例復雜得多。但是,我們希望隨著更多的變化被添加到數(shù)據(jù)集中,隨著社區(qū)對TensorFlow的改進,我們將繼續(xù)看到改進和擴展。

教程

本教程將向你展示如何構(gòu)建識別十個不同單詞的基本語音識別網(wǎng)絡。

重要的是要知道,真正的語音和音頻識別系統(tǒng)要復雜得多,但是像MNIST(入門級的CV數(shù)據(jù)集)一樣,它應該會讓你對所涉技術(shù)有一個基本的了解。

完成本教程后,你將可以嘗試創(chuàng)建一個模型,將一秒鐘的音頻剪輯去噪,識別單詞有“yes”,“no”,“up”,“down”,'left','right','on','off','stop',or 'go'。

你也可以在Android應用程序中運行該模型。

準備

你要確保已經(jīng)安裝了TensorFlow,由于該版本下載了超過1GB的訓練數(shù)據(jù),因此你需要電腦有足夠的內(nèi)存,另外網(wǎng)速要快,訓練過程可能需要幾個小時。

訓練

要開始訓練過程,請訪問TensorFlow源代碼樹并運行:

python tensorflow/examples/speech_commands/train.py

訓練過程將從下載“ 語音命令”數(shù)據(jù)集開始,該數(shù)據(jù)集由65000個WAVE音頻文件組成,其中有30個不同的單詞。

這些數(shù)據(jù)是由Google收集的,并根據(jù)CCBY許可證發(fā)布。存檔超過1GB,所以下載可能需要一段時間,但你應該能看到進度日志,一旦下載完成,你就不用再次執(zhí)行此步驟了。

下載完成后,你將看到如下所示的日志記錄信息:

I0730 16:53:44.766740 55030 train.py:176] Training from step: 1

I0730 16:53:47.289078 55030 train.py:217] Step #1: rate 0.001000, accuracy 7.0%, cross entropy 2.611571

這表明初始化過程已經(jīng)完成,循環(huán)訓練已經(jīng)開始。你會看到它輸出每個訓練步驟的信息。

步驟分解

Step #1表明我們正在循環(huán)訓練的第一步。在這種情況下,總共將有18000個步驟,所以你可以查看步驟號碼,了解其完成程度有多接近。

rate 0.001000是控制網(wǎng)絡權(quán)重更新速度的學習率。早期的這個數(shù)字是相對較高的(0.001),但是對于后來的訓練周期,它會減少10倍到0.0001。

accuracy 7.0%在這個訓練步驟中正確地預測了有多少classes。value函數(shù)往往波動很大,但隨著訓練的進行,平均值會增加。該模型輸出一個數(shù)字數(shù)組,每個標簽一個,每個數(shù)字是該類輸入的預測可能性。

通過選擇具有最高分數(shù)的條目來選擇預測的標簽,分數(shù)總是在零和一之間。

cross entropy 2.611571是我們用來指導培訓過程的損失功能的結(jié)果。這是通過比較當前訓練運動與正確標簽的分數(shù)向量獲得的分數(shù),這在訓練期間應該向下傾斜。

經(jīng)過一百步,你應該看到這樣的一行:

I0730 16:54:41.813438 55030 train.py:252] Saving to '/tmp/speech_commands_train/conv.ckpt-100'

這是將當前訓練的權(quán)重保存到checkpoint文件中。如果你的訓練腳本中斷,可以查找最后保存的checkpoint,然后:

--start_checkpoint=/tmp/speech_commands_train/conv.ckpt-100使用命令行參數(shù)重新

啟動腳本, 從那里開始。

混淆矩陣:

四百步后,將記錄以下信息:

I0730 16:57:38.073667 55030 train.py:243] ConfusionMatrix:
[[
258 0 0 0 0 0 0 0 0 0 0 0]
[
7 6 26 94 7 49 1 15 40 2 0 11]
[
10 1107 80 13 22 0 13 10 1 0 4]
[
1 3 16163 6 48 0 5 10 1 0 17]
[
15 1 17114 55 13 0 9 22 5 0 9]
[
1 1 6 97 3 87 1 12 46 0 0 10]
[
8 6 86 84 13 24 1 9 9 1 0 6]
[
9 3 32112 9 26 1 36 19 0 0 9]
[
8 2 12 94 9 52 0 6 72 0 0 2]
[
16 1 39 74 29 42 0 6 37 9 0 3]
[
15 6 17 71 50 37 0 6 32 2 1 9]
[
11 1 6151 5 42 0 8 16 0 0 20]]

第一部分是混淆矩陣。要了解這是什么意思,你首先需要知道正在使用的標簽,在這種情況下,它們分別表示為靜音、未知yes、no、up、down、left、right、on、off、stop、go。

第一行是所有的靜音剪輯,第二個剪輯是未知的單詞,第三個“yes”等。

該矩陣可以比單個準確率得分更有用,因為它可以很好地總結(jié)出網(wǎng)絡發(fā)生的錯誤。在此示例中,你可以看到除了初始條目之外,第一行中的所有條目都為零。

因為第一行實際上都是靜音的片段,所以這意味著它們都沒有被錯誤的標注為文字,所以我們沒有任何靜音的否定。這表明網(wǎng)絡已經(jīng)越來越好地區(qū)分了靜音與談話。

一個完美的模型將產(chǎn)生一個混矩陣,其中所有的條目都是從對角線穿過中心的零點。一旦你確定了可以通過添加更多數(shù)據(jù)來解決問題,該模型的方差可以幫助你了解模型怎樣最容易混淆。

驗證

矩陣之后,你會看到如下一行:

I0730 16:57:38.073777 55030 train.py:245] Step 400: Validation accuracy = 26.3% (N=3093)

將數(shù)據(jù)集分為三類是很好的做法。最大的(大約是數(shù)據(jù)的80%)用于訓練網(wǎng)絡,一個較小的集(10% “validation”)被保留用于評估訓練中的準確性,另一組10%,“testing”)用于在訓練完成后評估準確度。

通過將數(shù)據(jù)集分類為訓練集、驗證集、測試集,你可以確保該模型適用于之前從未見過的數(shù)據(jù)。測試集是一個額外的保障措施,以確保不僅僅是以適用于訓練和驗證集擬合調(diào)整模型。

訓練腳本將數(shù)據(jù)集自動分成這三個類別,上面的記錄行顯示了在驗證集上運行時的模型準確率。理想情況下,這應該與訓練準確性相當接近。如果訓練準確性增加但驗證不是這樣,這表明過度擬合正在發(fā)生,你的模型只是學習關(guān)于訓練剪輯的東西,而不是真正的訓練模式。

Tensorboard

使用Tensorboard可以看出訓練進展。默認情況下,腳本將事件保存到/ tmp / retrain_logs,可以通過運行以下命令來加載它們:

tensorboard --logdir /tmp/retrain_logs

然后在瀏覽器中導航到 http:// localhost:6006,將看到顯示模型進度的圖表。

完成訓練

經(jīng)過幾個小時的訓練(取決于你的電腦快慢),腳本應該已經(jīng)完成了所有18000個步驟。它將識別出最終的混淆矩陣,以及準確率分數(shù),全部運行在測試集上。使用默認設(shè)置,準確率在85%到90%之間。

因為音頻識別在移動設(shè)備上特別有用,接下來我們將其導出為,在移動平臺上易于使用的格式。要執(zhí)行此操作,請運行以下命令行:

python tensorflow/examples/speech_commands/freeze.py \

--start_checkpoint=/tmp/speech_commands_train/conv.ckpt-18000 \

--output_file=/tmp/my_frozen_graph.pb

創(chuàng)建固定模型后,可以使用label_wav.py 腳本進行測試,如下所示:

python tensorflow/examples/speech_commands/label_wav.py \

--graph=/tmp/my_frozen_graph.pb \

--labels=/tmp/speech_commands_train/conv_labels.txt \

--wav=/tmp/speech_dataset/left/a5d485dc_nohash_0.wav

可以識別出三個標簽:

left (score = 0.81477)

right (score = 0.14139)

_unknown_ (score = 0.03808)

跟多內(nèi)容請查看論文:http:///3PW89b

在Android應用程序中運行模型

查看此模型在真實應用程序中如何工作的最簡單的方法是,下載預構(gòu)建的Android演示應用程序并將其安裝在手機上(http:///4n1pym)。

你會看到“TF Speech”出現(xiàn)在應用程序列表中,打開它將顯示我們剛剛訓練過單詞列表,從“yes”和“no”開始。

你還可以自己構(gòu)建此應用程序,因為它是開源的, 并可作為github上TensorFlow存儲庫的一部分使用(http:///mfUa8)。默認情況下,它從tensorflow.org下載一個預先訓練的模型,但你可以輕松地用自己訓練的模型替換它。

這與本教程中的C ++版本非常相似。如果你調(diào)整了參數(shù),還可以在SpeechActivity中進行更新,以獲得與服務器測試相同的結(jié)果。

演示應用程序,根據(jù)你在固定模型復制到模型中的標簽文本文件,自動更新其用戶界面列表,可以輕松地嘗試不同的模型,而無需進行任何代碼更改。如果你更改路徑,需要updaye LABEL_FILENAME,MODEL_FILENAME添加到文件。

用大數(shù)據(jù)和機器學習揭示十二星座的真實面目!

十圖詳解tensorflow數(shù)據(jù)讀取機制(附代碼)

亞馬遜研發(fā)了一位 ”AI設(shè)計師“

馬斯克的Neuralink領(lǐng)銜全球十大腦神經(jīng)科技公司

專訪 ‖ 英特爾&MobileODT宮頸癌篩查比賽第一名團隊

這家主宰700億美元比特幣市場的中國公司

正在打造比特幣挖礦AI芯片

黑科技!世界上第一支用AI算法釀造的啤酒

長期招聘志愿者

加入「AI從業(yè)者社群」請備注個人信息

添加小雞微信 liulailiuwang

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产乱人伦精品一区二区三区四区| 五月婷婷亚洲综合一区| 一区二区三区免费公开| 东北老熟妇全程露脸被内射| 中文字幕欧美精品人妻一区| 99视频精品免费视频| 91超频在线视频中文字幕| 欧美日本道一区二区三区| 日木乱偷人妻中文字幕在线| 91爽人人爽人人插人人爽| 欧美区一区二区在线观看| 熟女免费视频一区二区| 韩国日本欧美国产三级| 日本深夜福利视频在线| 欧美激情视频一区二区三区| 亚洲男人的天堂久久a| 中文久久乱码一区二区| 高跟丝袜av在线一区二区三区| 国产自拍欧美日韩在线观看| 国产肥女老熟女激情视频一区| 麻豆tv传媒在线观看| 亚洲欧美日韩另类第一页| 99久久无色码中文字幕免费| 色婷婷丁香激情五月天| 久久亚洲精品中文字幕| 中文字幕日韩无套内射| 大尺度激情福利视频在线观看| 欧美一区二区口爆吞精| 五月激情五月天综合网| 久久老熟女一区二区三区福利 | 精品人妻一区二区四区| 免费观看成人免费视频| 日韩人妻有码一区二区| 久久中文字人妻熟女小妇| 国产无摭挡又爽又色又刺激| 国产成人av在线免播放观看av| 国产亚洲精品岁国产微拍精品| 久久国产精品熟女一区二区三区| 午夜国产精品国自产拍av| 日韩欧美综合在线播放| 最新69国产精品视频|