0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用TensorFlow實(shí)現(xiàn)人工智能?

Tensorflowers ? 來源:未知 ? 作者:胡薇 ? 2018-08-17 08:43 ? 次閱讀

電信營業(yè)廳 APP 作為中國電信在線服務(wù)的入口級應(yīng)用,我們的開發(fā)團(tuán)隊(duì)通過 TensorFlow人工智能 AI 技術(shù)有了親密的接觸。

人工智能這個領(lǐng)域我們以前從未探索過,甚至參與項(xiàng)目開發(fā)的工程師都是由 Android 開發(fā)轉(zhuǎn)型而來,所以本文將以機(jī)器學(xué)習(xí)小白的視角談一談我們?nèi)绾问褂?TensorFlow 實(shí)現(xiàn)人工智能,以及我們的心路歷程。

為了提升體驗(yàn),讓用戶在充值這個最常用功能中感受一下所謂的黑科技,我們在 2016 年啟動了充值卡掃描項(xiàng)目,希望用戶打開攝像頭對準(zhǔn)充值卡密碼輕松一掃即可完成充值。其核心 OCR 識別算是比較古老的研究領(lǐng)域,充值卡密碼是數(shù)字加空格的組合,想想應(yīng)該不難。

我們當(dāng)時使用的方案,大概如下圖的過程:

最終效果當(dāng)然是不太理想,充值卡與名片文檔不同,密碼區(qū)域刮開的大小因人而異、噪點(diǎn)非常不規(guī)則、掃描時手的抖動會增加錯誤的發(fā)生等等因素,加上我們沒有在 OCR 領(lǐng)域的經(jīng)驗(yàn)積累,最終沒能達(dá)到良好的用戶體驗(yàn)而不得不擱淺。但是在隨后的日子里,我們與 TensorFlow 結(jié)下了不解情緣。

在 2017 年谷歌開發(fā)者大會上我們了解到,谷歌人工智能底層的技術(shù)已經(jīng)開源化,TensorFlow 的推出是為了讓普通開發(fā)者將關(guān)注點(diǎn)從 “如何造輪子” 轉(zhuǎn)移到 “輪子的花紋和樣式” 上來,現(xiàn)場由谷歌工程師 Anna 全程用中文為大家介紹這個框架,她的演講很贊,為了不錯過每一個細(xì)節(jié)我聽得很仔細(xì)很投入。

從大會回來之后,我們推翻重來并改變了思路:搭建一個神經(jīng)網(wǎng)絡(luò)讓它學(xué)會認(rèn)識電信充值卡。

end2end learning:

神經(jīng)網(wǎng)絡(luò)思想給我們帶來了徹底的改變,所謂 end2end 模型是要通過這個模型輸入圖片直接獲得結(jié)果數(shù)字。這種方式,不再需要手工處理圖片的特征,任何部分的誤差,都作為整體的一部分,通過神經(jīng)網(wǎng)絡(luò)的反向傳播都能得到修正。

seq2seqlearning:

seq2seq 是一種 Encoder–Decoder 結(jié)構(gòu)的網(wǎng)絡(luò),它的輸入是一個序列,輸出也是一個序列, Encoder 中將一個可變長度的信號序列變?yōu)楣潭ㄩL度的向量表達(dá),Decoder 將這個固定長度的向量變成可變長度的目標(biāo)的信號序列。這種結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)常用于語音識別,也可以用于不定長文字的 OCR 識別。對于我們的項(xiàng)目而言 Encoder 輸入是 200*30 大小的圖像,Decoder 是可變長度的數(shù)字加空格組合。

神經(jīng)網(wǎng)絡(luò)搭建:CNN+LSTM+CTC

這是個成熟且先進(jìn)的神經(jīng)網(wǎng)絡(luò)架構(gòu),我們在分析學(xué)習(xí)了許多科學(xué)界論文后選定了這個方案,CNN 卷積神經(jīng)網(wǎng)絡(luò)負(fù)責(zé)抓取圖片特征,LSTM 長短期記憶網(wǎng)絡(luò)負(fù)責(zé)對字符的識別,CTC 算法對結(jié)果進(jìn)行對齊優(yōu)化。這個方案有很多優(yōu)秀的TF項(xiàng)目可以參考,使用 TF 實(shí)現(xiàn)其網(wǎng)絡(luò)結(jié)構(gòu)也非常方便,這使我們更快更容易的著手開發(fā)工作。

在我們剛接觸神經(jīng)網(wǎng)絡(luò)的時候,看到某位大神曾經(jīng)說過 “深度學(xué)習(xí)框架是一個煉丹爐”,這句話形容的恰到好處,使我們更直觀的理解機(jī)器學(xué)習(xí)的過程,如今我們已經(jīng)有了這煉丹爐和配方(TensorFlow、網(wǎng)絡(luò)結(jié)構(gòu)方案),下一步的關(guān)鍵是數(shù)據(jù)。數(shù)據(jù)的質(zhì)量和數(shù)量直接影響模型的識別效果,由于沒有足夠的實(shí)體卡樣本,我們使用程序模擬需要的圖片,要盡量做得真實(shí)、包含盡可能多的特征才行。先從一張簡單的充值卡入手,我們的取景框?qū)⒔裹c(diǎn)縮小到 200*30 這么大的區(qū)域里:

通過不斷訓(xùn)練、對比模型識別識別結(jié)果,將模型沒有學(xué)習(xí)到的特征加入進(jìn)來,我們得到了下面的數(shù)據(jù)優(yōu)化路線:

基礎(chǔ)版本:

傾斜、變形、位移:

不同的字體:

模擬未干凈效果,加入隨機(jī)噪點(diǎn):

強(qiáng)光:

弱光:

抖動模糊:

以上特征隨機(jī)組合出現(xiàn),且力度在一定區(qū)間內(nèi)隨機(jī)取值,生成的訓(xùn)練數(shù)據(jù)集 30 萬,測試數(shù)據(jù)集 1 萬:

接下來是機(jī)器訓(xùn)練的過程,這個階段最磨煉心性,機(jī)器在學(xué)習(xí)人也在成長。分享一點(diǎn)心得:

1、我們能夠總結(jié)這段經(jīng)驗(yàn)是源于上百次的訓(xùn)練記錄,詳細(xì)記錄每次訓(xùn)練的筆記是一個好習(xí)慣。

2、每次只調(diào)整網(wǎng)絡(luò)參數(shù)或只修改數(shù)據(jù)特征,這樣方便比較結(jié)果。

3、善于運(yùn)用TensorBoard使你更直觀的查看網(wǎng)絡(luò)結(jié)構(gòu),了解訓(xùn)練過程。我們保留了 TB 的全部訓(xùn)練日志,通過訓(xùn)練曲線對比不同超參數(shù)對訓(xùn)練結(jié)果的影響是非常方便的。

最后是方案的選型,我們一開始青睞于 TF Lite 的小巧、靈活,但是當(dāng)時 TF Lite 還不支持 LSTM 算子,將來我們會再嘗試使用 TF Lite,因?yàn)槎藗?cè)人工智能應(yīng)該是未來的主流。 考慮到我們的圖片只有 200*30 的像素大小,實(shí)際傳輸不太消耗網(wǎng)絡(luò),所以 TF Serving 作為最終方案,實(shí)際上效果也確實(shí)不錯。

方案

TF Lite

TF Mobile

TF Serving ?

優(yōu)點(diǎn)

1、體積小:大概 300K。

1、支持全部神經(jīng)網(wǎng)絡(luò)算子。

2、性能優(yōu)秀。

1、客戶端輕量操作。

2、一切云端可控制,包括模型更新等。

3、支持高并發(fā)訪問

缺點(diǎn)

1、當(dāng)時缺少 LSTM 算子

1、體積較大,估計 AndroidSDK大概 5M 左右。

2、需考慮模型更新方案。

3、需考慮適配,安卓低版本機(jī)器不支持。

1、識別性能受網(wǎng)絡(luò)速度影響。

最終的效果:逆光、抖動、數(shù)字嚴(yán)重遮擋依然可以輕松識別!

模型訓(xùn)練的成功率為 99.3% ,完成一次識別的耗時 0.05 秒,達(dá)到這樣的效果,讓我們非常驚喜、興奮!用戶體驗(yàn)之后反響也非常不錯!能夠做到這些得益于優(yōu)秀的 TensorFlow 機(jī)器學(xué)習(xí)框架、先進(jìn)的神經(jīng)網(wǎng)絡(luò)解決方案,這讓我想起 2007 年剛接觸 Android 系統(tǒng)時的感受:不再需要考慮設(shè)備底層代碼的編寫極大的降低了開發(fā)者的門檻,正如今天 TF 帶給我們的一樣,入門級玩家也可以使用人工智能技術(shù)。

最后向一直堅(jiān)持做機(jī)器學(xué)習(xí)的開發(fā)者們致敬:你們的堅(jiān)持和分享精神使我們更快的掌握和使用這項(xiàng)技術(shù),相信在我們共同努力下人工智能領(lǐng)域?qū)⒉粩嗤黄?,正如這條曲線一樣歷經(jīng)磨練守得云開見月明。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    46691

    瀏覽量

    237179
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    328

    瀏覽量

    60475

原文標(biāo)題:中國電信使用 TensorFlow 實(shí)現(xiàn)人工智能

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    人工智能是什么?

    ` 人工智能是什么?什么是人工智能?人工智能是未來發(fā)展的必然趨勢嗎?以后人工智能技術(shù)真的能達(dá)到電影里機(jī)器人的智能水平嗎?如果技術(shù)成熟的那一天
    發(fā)表于 09-16 15:40

    百度人工智能大神離職,人工智能的出路在哪?

    。 舉例來說,之前的智能家居大多以監(jiān)測為主,嚴(yán)格意義來說,根本不是智能,真正的智能一定監(jiān)和控相結(jié)合的。在監(jiān)測的基礎(chǔ)上加上控制功能,真正實(shí)現(xiàn)人工智能
    發(fā)表于 03-23 17:00

    人工智能就業(yè)前景

    據(jù)相關(guān)招聘機(jī)構(gòu)數(shù)據(jù)顯示,2018年AI領(lǐng)域仍然是大部分資深技術(shù)人才轉(zhuǎn)崗的首選目標(biāo),在人才最緊缺的前十大職位中,時下最火的大數(shù)據(jù)、人工智能、算法類崗位占據(jù)半壁江山。據(jù)調(diào)查指出,2017年技術(shù)研發(fā)類崗位
    發(fā)表于 03-29 15:46

    人工智能的影響超乎你想象

    ,意義還不僅僅局限于此。在這一輪人工智能浪潮中,對經(jīng)濟(jì)最大的價值在于更大規(guī)模地實(shí)現(xiàn)自動化、機(jī)器化轉(zhuǎn)變。雖然這種自動化經(jīng)濟(jì),或者叫機(jī)器人經(jīng)濟(jì),可能將無可避免地引發(fā)一系列的工作崗位消失。但與此同時,我們
    發(fā)表于 06-22 14:40

    TensorFlow-cn_0.3_beta_zh,人工智能入門資料

    TensorFlow-cn_0.3_beta_zh,人工智能入門資料,花積分在別的論壇買的
    發(fā)表于 11-09 11:44

    解讀人工智能的未來

    `已歷經(jīng)60多年的人工智能在物聯(lián)網(wǎng)以及大數(shù)據(jù)的推動下,實(shí)現(xiàn)飛躍式的發(fā)展,并且迎來了第三個黃金周期。必優(yōu)傳感今天和大家解讀一下關(guān)于人工智能的未來。自從有了人工智能,引發(fā)了人類的各種“未來
    發(fā)表于 11-14 10:43

    人工智能醫(yī)生未來或上線,人工智能醫(yī)療市場規(guī)模持續(xù)增長

    基于人工智能實(shí)現(xiàn)的糖尿病及并發(fā)癥管理產(chǎn)品,在公眾號中輸入個人的相關(guān)信息,包括性別、體重、空腹血糖等,可以預(yù)測出此人近3年患糖尿病的風(fēng)險系數(shù)。指標(biāo)超過一定比例,還會建議個人盡快去醫(yī)院就診
    發(fā)表于 02-24 09:29

    人工智能:超越炒作

    信息處理的各個方面。換句話說:人工智能希望重新設(shè)計人腦的結(jié)構(gòu)和功能,使機(jī)器能夠以人類的方式解決問題 - 更好。與科學(xué)努力相比,今天的行業(yè)對人工智能的方法更加務(wù)實(shí)。當(dāng)前的AI開發(fā)不是試圖實(shí)現(xiàn)人類思維的復(fù)制
    發(fā)表于 05-29 10:46

    人工智能語音芯片行業(yè)的發(fā)展趨勢如何?

    人工智能是近三年來最受關(guān)注的核心基礎(chǔ)技術(shù),將深刻的改造各個傳統(tǒng)行業(yè)。人工智能在圖像識別、語音識別領(lǐng)域的應(yīng)用自2017年來高速發(fā)展,是人工智能最熱點(diǎn)的兩項(xiàng)落地應(yīng)用。手把手教你設(shè)計人工智能
    發(fā)表于 09-11 11:52

    Labview深度學(xué)習(xí)tensorflow人工智能目標(biāo)檢測-教學(xué)貼【連載】

    本帖最后由 wcl86 于 2021-6-3 16:23 編輯 應(yīng)廣大學(xué)員要求,現(xiàn)開通Labview深度學(xué)習(xí)tensorflow人工智能目標(biāo)檢測-教學(xué)貼,有需要的學(xué)員,可以收藏本貼,接下來會
    發(fā)表于 05-28 11:58

    人工智能芯片是人工智能發(fā)展的

    人工智能芯片是人工智能發(fā)展的 | 特倫斯謝諾夫斯基責(zé)編 | 屠敏本文內(nèi)容經(jīng)授權(quán)摘自《深度學(xué)習(xí) 智能時代的核心驅(qū)動力量》從AlphaGo的人機(jī)對戰(zhàn),到無人駕駛汽車的上路,再到AI合成主播上崗
    發(fā)表于 07-27 07:02

    物聯(lián)網(wǎng)人工智能是什么?

    一、人工智能介紹工作以后想要拿高薪的話,人工智能是你的不二之選,那么問題來了,究竟什么是人工智能呢?又需要了解哪些才能去開發(fā)人工智能產(chǎn)品呢?接下來小編帶領(lǐng)大家進(jìn)入
    發(fā)表于 09-09 14:12

    嵌入式與人工智能關(guān)系是什么

    嵌入式與人工智能關(guān)系_嵌入式人工智能的發(fā)展趨勢  所謂嵌入式人工智能,就是設(shè)備無須聯(lián)網(wǎng)通過云端數(shù)據(jù)中心進(jìn)行大規(guī)模計算去實(shí)現(xiàn)人工智能,而是在本
    發(fā)表于 10-27 07:41

    什么叫嵌入式人工智能

    是說在云端通過聯(lián)網(wǎng),在數(shù)據(jù)中心的大規(guī)模的計算去實(shí)現(xiàn)人工智能,而是說在本地計算,在不聯(lián)網(wǎng)的情況下面實(shí)時的做環(huán)境感知,做人機(jī)交互,做決策控制。大家想想看,尤其是在自動駕駛這樣一個場景下面,如果突然一個
    發(fā)表于 10-28 08:43

    嵌入式人工智能學(xué)習(xí)路線

    及機(jī)器人操作系統(tǒng)等方面的實(shí)驗(yàn)。結(jié)合人工智能讓機(jī)器人更加智能,基于TensorFlow框架開發(fā)完成訓(xùn)練模型、調(diào)試參數(shù)、打包模型一系列人工智能開發(fā)流程???/div>
    發(fā)表于 09-16 17:07