<pre id="kduxx"><noframes id="kduxx">
<em id="kduxx"><pre id="kduxx"><abbr id="kduxx"></abbr></pre></em>

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

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

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

    一款通過(guò)AI技術(shù)自動(dòng)批改數(shù)學(xué)作業(yè)的APP

    Tensorflowers ? 來(lái)源:未知 ? 作者:李倩 ? 2018-11-19 15:24 ? 次閱讀

    愛(ài)作業(yè)是一款通過(guò) AI 技術(shù)自動(dòng)批改數(shù)學(xué)作業(yè)的 APP,上線一年來(lái)已經(jīng)積累超過(guò)千萬(wàn)用戶, 幫助大量的老師和家長(zhǎng)節(jié)約時(shí)間,提高效率。

    在愛(ài)作業(yè) APP 里面有個(gè)功能叫 “口算同步練”,我們希望提供給小朋友一種輕量的方便的方法可以直接在手機(jī)上鞏固訓(xùn)練口算。如下圖所示:

    識(shí)別在屏幕上手寫(xiě)的筆跡,我們最早使用的方法是追蹤書(shū)寫(xiě)軌跡,這也是比較傳統(tǒng)和經(jīng)典的方法,這種方法依賴于規(guī)則,不需要大量的訓(xùn)練數(shù)據(jù)。 但是經(jīng)過(guò)我們?cè)囼?yàn),這種方法對(duì)于少量數(shù)字效果還不錯(cuò),對(duì)于位數(shù)比較多的數(shù)字,特別是數(shù)字之間還存在連寫(xiě),或者書(shū)寫(xiě)順序不夠標(biāo)準(zhǔn)的情況, 識(shí)別效果就差強(qiáng)人意了。

    這時(shí)候我們想到要使用 Deep Learning 來(lái)解決問(wèn)題,然后我們需要解決訓(xùn)練數(shù)據(jù),模型, 和移動(dòng)端部署的問(wèn)題。

    首先是訓(xùn)練數(shù)據(jù),這是深度學(xué)習(xí)繞不開(kāi)的問(wèn)題。為此,我們專門(mén)開(kāi)發(fā)了一個(gè)小工具(iOS / Android),讓我們的標(biāo)注人員可以方便的生成訓(xùn)練數(shù)據(jù)。這個(gè)工具會(huì)隨機(jī)生成一些數(shù)字(包含小數(shù)點(diǎn),分?jǐn)?shù)),然后標(biāo)注人員在屏幕中書(shū)寫(xiě)提示的數(shù)字,然后可以方便的保存到我們的服務(wù)器。 我們就這樣收集到了第一批原始數(shù)據(jù)大概有 5000張訓(xùn)練圖片左右。

    然后是模型。由于模型需要在移動(dòng)端運(yùn)行,所以不管是圖片輸入大小和模型本身,都需要相對(duì)精簡(jiǎn)。基于豎屏的比例,我們最終采用了將所有圖片預(yù)處理成 60x100(高x寬) 的大小。模型的整體方案是一個(gè) seq2seq 的模型,這個(gè)框架最早是 Google 用于解決 NLP 相關(guān)的問(wèn)題, 我們可以把它做一些調(diào)整來(lái)做圖像 OCR。

    首先我們需要一個(gè)生成 feature 的基礎(chǔ)模型,最終我們采用了 MobileNet。 MobileNet 模型的核心就是將原本標(biāo)準(zhǔn)的卷積操作因式分解成一個(gè) depthwise convolution 和一個(gè) 1*1 的卷積(文中叫 pointwise convolution)操作。簡(jiǎn)單講就是將原來(lái)一個(gè)卷積層分成兩個(gè)卷積層,其中前面一個(gè)卷積層的每個(gè) filter 都只跟 input 的每個(gè) channel 進(jìn)行卷積,然后后面一個(gè)卷積層則負(fù)責(zé) combining,即將上一層卷積的結(jié)果進(jìn)行合并。MobileNet 可以在基本保證準(zhǔn)確率的前提下大大減少計(jì)算時(shí)間和參數(shù)數(shù)量。 正如這個(gè)命名,我們相信用這個(gè)作為基礎(chǔ)網(wǎng)絡(luò)可以在移動(dòng)端有不錯(cuò)的表現(xiàn), 并且這個(gè)模型在 TensorFlow 的 model zoo 中有標(biāo)準(zhǔn)實(shí)現(xiàn),并且提供了預(yù)訓(xùn)練模型。豐富的模型實(shí)現(xiàn)也是我們當(dāng)初選擇用 TensorFlow 來(lái)實(shí)現(xiàn)的重要原因之一。

    在得到圖片 feature 以后,我們通過(guò) LSTMRNN 進(jìn)行一個(gè)標(biāo)準(zhǔn)的 Encoder->Decoder 過(guò)程,得益于 TensorFlow 的豐富實(shí)現(xiàn),這整個(gè)過(guò)程只要調(diào)用 TensorFlow 中 seq2seq 相關(guān)接口就可以輕松實(shí)現(xiàn)。 不過(guò) seq2seq 的接口在 TensorFlow1.0 以后有一些接口上的變化,我們使用了更新以后的接口。

    接下來(lái)是如何把模型放到客戶端去運(yùn)行,我們?cè)谶@里面臨諸多選擇。 整體方案來(lái)看,我們需要選擇使用 TensorFlow Mobile 還是 TensorFlow Lite,另外在 iOS 端,我們需要考慮是否要將模型轉(zhuǎn)為 iOS 的 CoreML 模型。由于 CoreML 只從 iOS 11 開(kāi)始支持,我們很快否掉了這個(gè)選項(xiàng)。我們?cè)谧鲞@個(gè)功能的時(shí)候,TensorFlow 剛發(fā)布了 1.4(目前已經(jīng) 1.12 了),Lite 還是一個(gè)全新的東西, 最大的問(wèn)題是對(duì)于各種 ops 支持不夠好,而且當(dāng)時(shí)官方網(wǎng)站也是推薦在生產(chǎn)環(huán)境中使用 Mobile 版本, 所以盡管 Lite 有著各種優(yōu)點(diǎn), 我們還是選擇了 Mobile。

    TensorFlow Mobile 的文檔也算是相對(duì)豐富的,我們?cè)诓渴鸬倪^(guò)程中并沒(méi)有遇到太大的障礙。有一點(diǎn)需要注意的是,需要使用 print_selective_registration_header 這個(gè)小工具來(lái)分析模型中真正使用到的算子,從而大大減少生成的運(yùn)行庫(kù)的大小。

    就這樣我們第一個(gè)版本順利上線并穩(wěn)定運(yùn)行,但我們依然關(guān)注著 Lite 的動(dòng)態(tài)。 在經(jīng)過(guò)一些考慮后,特別是在 2018 年 10 月的谷歌開(kāi)發(fā)者大會(huì)上聽(tīng)到了更多 TensorFlow Lite 的介紹,我們決定用Lite 替換掉 Mobile 版本,主要基于以下幾個(gè)考慮:

    更小的運(yùn)行庫(kù)體積, 通過(guò) TensorFlow Lite 生成的運(yùn)行庫(kù)體積很小,去掉了很多不必要的依賴。比如模型采用新的更輕量級(jí) FlatBuffers 格式,而之前使用的 protobuf 需要很多的依賴庫(kù)。同時(shí) TensorFlow Lite 以更加輕量級(jí)的方式實(shí)現(xiàn)了原來(lái) TensorFlow 中的核心算子, 也有效降低了運(yùn)行庫(kù)的體積。

    更快的運(yùn)行速度。 TensorFlow Lite 很多核心算子是專門(mén)為移動(dòng)平臺(tái)優(yōu)化過(guò)的,同時(shí)通過(guò)NNAPI 能夠透明的支持 GPU 加速,在一些老設(shè)備上能夠自動(dòng)回滾到 CPU 計(jì)算。

    TensorFlow Lite 的模型量化功能,將模型量化到 int8,在幾乎不怎么損失計(jì)算精度的情況下把模型變?yōu)樵瓉?lái)的 1/4 大小。

    但是我們?nèi)匀挥龅搅撕芏嗬щy。主要是:

    TensorFlow Lite 尚不支持 controlflow,意味著 TensorFlow 新 seq2seq 接口中的 dynamic_decode不能正確導(dǎo)出執(zhí)行。

    TensorFlow Lite 中對(duì)于 LSTM 的支持不夠完善,比如 forgetbias 參數(shù)并不支持。

    我們所使用的部分 operators 在 TensorFlow Lite 中還不支持,比如 GatherTree等等。

    在 TensorFlow Lite 中實(shí)現(xiàn) controlflow 并不是件容易的事情,并不能直接通過(guò) customop 來(lái)實(shí)現(xiàn),最終我們把動(dòng)態(tài)解碼變成了靜態(tài)展開(kāi),稍微損失了一些性能但是解決了這個(gè)問(wèn)題。 對(duì)于 forget bias 的問(wèn)題, 我們?nèi)∏傻脑趨?shù)恢復(fù)的時(shí)候把 forgetbias 加在 LSTMforgetgate 的 bias 上,這樣就不用修改 TensorFlow Lite 的代碼了。對(duì)于其他問(wèn)題,都可以通過(guò) customop 來(lái)實(shí)現(xiàn),相對(duì)容易一些。

    最終我們通過(guò) toco 把 graphpb 導(dǎo)出成 TensorFlow Lite 格式,接下來(lái)就是要集成到手機(jī)上運(yùn)行。在這一步上我們并沒(méi)有遇到太多阻礙。因?yàn)橛辛酥凹?TensorFlowMobile 的經(jīng)驗(yàn),我們很快完成了集成。 我們?cè)诰唧w實(shí)現(xiàn)的時(shí)候把識(shí)別接口做了封裝,這樣在我們從 TensorFlowMobile 遷移到 TensorFlowLite 的時(shí)候,客戶端開(kāi)發(fā)的同事幾乎不需要改動(dòng)代碼就可以使用新的接口。

    在完成 TensorFlow Mobile 到 TensorFlow Lite 的遷移以后,我們單次 inference 的速度提高了20%,模型大小減少了 75%,可以說(shuō)是非常有吸引力的。

    隨著手機(jī)端計(jì)算能力的不斷增強(qiáng),越來(lái)越多的深度學(xué)習(xí)模型可以在手機(jī)端運(yùn)行。 目前TensorFlow Lite 也在快速開(kāi)發(fā)迭代中,相信 TensorFlow Lite 會(huì)在更多實(shí)踐中越來(lái)越好。

    感謝 TensorFlow Lite 團(tuán)隊(duì)在我們的開(kāi)發(fā)過(guò)程中給予的支持,特別是顧仁民和劉仁杰兩位技術(shù)專家給我們提供了很多有幫助的資料和參考,希望將來(lái)有更多的合作機(jī)會(huì)。

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

      關(guān)注

      73

      文章

      5431

      瀏覽量

      120787
    • ai技術(shù)
      +關(guān)注

      關(guān)注

      1

      文章

      1244

      瀏覽量

      24125

    原文標(biāo)題:愛(ài)作業(yè)口算同步練,TensorFlow Lite 實(shí)踐

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

    收藏 人收藏

      評(píng)論

      相關(guān)推薦

      如果設(shè)計(jì)一款桌面的機(jī)器玩具,最吸引人的外觀與功能要有哪些?

      初步設(shè)想制作如下其中一款,有感興趣的朋友可以幫提提意見(jiàn)。 A一款圓敦敦的音響狀的“個(gè)人日程助手”,具備番茄鬧鐘、音樂(lè)播放、減壓交互、語(yǔ)言對(duì)話、工作日?qǐng)?bào)生成。 B一款迷你瓦利機(jī)器人,有
      發(fā)表于 10-19 18:25

      中偉視界:礦山智能化安全生產(chǎn),未戴自救器檢測(cè)AI算法助力保護(hù)作業(yè)人員安全

      礦山作業(yè)環(huán)境復(fù)雜危險(xiǎn),確保作業(yè)人員佩戴自救器是重要措施之。未戴自救器檢測(cè)AI算法通過(guò)圖像識(shí)別和人工智能
      的頭像 發(fā)表于 07-17 13:10 ?202次閱讀
      中偉視界:礦山智能化安全生產(chǎn),未戴自救器檢測(cè)<b class='flag-5'>AI</b>算法助力保護(hù)<b class='flag-5'>作業(yè)</b>人員安全

      蘋(píng)果要將蘋(píng)果智能做成AI時(shí)代的APP Store?

      ,蘋(píng)果正與Meta等AI巨頭展開(kāi)深入合作,這戰(zhàn)略舉措預(yù)示著蘋(píng)果智能平臺(tái)將成為AI大模型的新“App Store”。 看來(lái)OpenAI原本想做的AI
      的頭像 發(fā)表于 07-01 15:58 ?440次閱讀
      蘋(píng)果要將蘋(píng)果智能做成<b class='flag-5'>AI</b>時(shí)代的<b class='flag-5'>APP</b> Store?

      中國(guó)教育AI在美受熱捧,AI作業(yè)助力學(xué)生學(xué)習(xí)

      Gauth系字節(jié)跳動(dòng)于2019年打造,而Question AI出自作業(yè)幫之手。自2023年面市以來(lái),Question AI已在App Store和Google Play累計(jì)被下載超過(guò)6
      的頭像 發(fā)表于 05-28 15:53 ?370次閱讀

      飛利浦影音推出首AI會(huì)議降噪耳機(jī)飛利浦“8號(hào)”

      飛利浦影音近日重磅推出其首AI會(huì)議降噪耳機(jī)——“8號(hào)”。這款產(chǎn)品的誕生,是飛利浦影音與小鹿聲文App深入合作的結(jié)晶,同時(shí)得到了“騰訊混元”語(yǔ)言大模型提供的強(qiáng)大AI
      的頭像 發(fā)表于 05-13 11:29 ?743次閱讀

      人工智能模型公司Anthropic近日推出了一款Claude移動(dòng)端App

      制造Claude 3人工智能模型公司Anthropic近日推出了一款iOS應(yīng)用程序,并為群組共享模型訪問(wèn)添加第二個(gè)付費(fèi)層。
      的頭像 發(fā)表于 05-08 09:55 ?551次閱讀

      如何設(shè)計(jì)一款四輪智能小車(chē)

      如何設(shè)計(jì)一款四輪智能小車(chē) 此部分共分為五個(gè)小節(jié),通過(guò)這個(gè) Part 的學(xué)習(xí),我們將了解機(jī)器人的概念和組成,對(duì)機(jī)器人的整體設(shè)計(jì)有個(gè)明確的思路,然后通過(guò)機(jī)械結(jié)構(gòu)、驅(qū)動(dòng)系統(tǒng)、傳感系統(tǒng)、控制
      的頭像 發(fā)表于 03-26 10:58 ?634次閱讀
      如何設(shè)計(jì)<b class='flag-5'>一款</b>四輪智能小車(chē)

      鴻蒙ArkUI開(kāi)發(fā)實(shí)戰(zhàn):eTS版【笑話app

      制作一款笑話app,使用ArkUI。
      的頭像 發(fā)表于 03-25 16:04 ?386次閱讀
      鴻蒙ArkUI開(kāi)發(fā)實(shí)戰(zhàn):eTS版【笑話<b class='flag-5'>app</b>】

      NanoEdge AI技術(shù)原理、應(yīng)用場(chǎng)景及優(yōu)勢(shì)

      等領(lǐng)域。以下是些具體的應(yīng)用場(chǎng)景: 1 . 智能家居:通過(guò)將 NanoEdge AI 集成到智能家居設(shè)備中,可以實(shí)現(xiàn)對(duì)家庭環(huán)境的實(shí)時(shí)監(jiān)控和智能控制,如溫度調(diào)節(jié)、照明控制、安防監(jiān)控等。 2.工業(yè)
      發(fā)表于 03-12 08:09

      如何設(shè)計(jì)一款好的電源產(chǎn)品?

      電氣化社會(huì)下電源無(wú)處不在,不同種類的電源技術(shù)在最初的發(fā)電側(cè)到終端芯片都扮演著重要的角色,一款高度集成的電子產(chǎn)品中電源系統(tǒng)的設(shè)計(jì)甚至占到了總設(shè)計(jì)量的50%,導(dǎo)致能耗、效率、輻射和尺寸等等與電源相關(guān)
      的頭像 發(fā)表于 01-04 10:34 ?482次閱讀
      如何設(shè)計(jì)<b class='flag-5'>一款</b>好的電源產(chǎn)品?

      weblogic修改數(shù)據(jù)源需要重啟嗎

      WebLogic是一款支持Java EE(Java Enterprise Edition)規(guī)范的應(yīng)用服務(wù)器,通過(guò)WebLogic可進(jìn)行數(shù)據(jù)源的配置和管理。在WebLogic中修改數(shù)據(jù)源是否需要重啟
      的頭像 發(fā)表于 12-05 16:09 ?1178次閱讀

      如何選擇一款真對(duì)數(shù)放大器?

      想選擇一款真對(duì)數(shù)放大器,用來(lái)實(shí)現(xiàn)接收機(jī)的動(dòng)態(tài)范圍的壓縮,信號(hào)頻率為10M, 壓縮前動(dòng)態(tài)范圍為120dB, 想通過(guò)放大器壓縮到70dB范圍內(nèi)? 請(qǐng)推薦幾芯片? 謝謝
      發(fā)表于 11-22 08:23

      一款適合自動(dòng)化在線測(cè)試屏蔽箱

      閘刀式屏蔽箱是一款適合半自動(dòng)化和自動(dòng)化操作的屏蔽箱,可根據(jù)產(chǎn)線需求實(shí)現(xiàn)產(chǎn)線流水線測(cè)試需求,可實(shí)現(xiàn)流水線線體從箱子穿過(guò),為中小型設(shè)備的測(cè)試提供了優(yōu)良可靠的射頻屏蔽。
      的頭像 發(fā)表于 11-17 16:18 ?625次閱讀
      <b class='flag-5'>一款</b>適合<b class='flag-5'>自動(dòng)</b>化在線測(cè)試屏蔽箱

      解鎖每一款屬于你的AI?,即刻預(yù)約Microsoft Ignite!

      解鎖每一款屬于你的AI?,即刻預(yù)約Microsoft Ignite! , 發(fā)表于 2023-11-13?08:00 , , 原文標(biāo)題:解鎖每一款屬于你的AI?,即刻預(yù)約Microsof
      的頭像 發(fā)表于 11-13 08:15 ?225次閱讀

      一款即熱式熱水器自動(dòng)恒溫實(shí)驗(yàn)電路圖

      電子發(fā)燒友網(wǎng)站提供《一款即熱式熱水器自動(dòng)恒溫實(shí)驗(yàn)電路圖.pdf》資料免費(fèi)下載
      發(fā)表于 11-02 14:41 ?3次下載
      <b class='flag-5'>一款</b>即熱式熱水器<b class='flag-5'>自動(dòng)</b>恒溫實(shí)驗(yàn)電路圖