GitHub 最強 AI 數學解題神器!拍照上傳秒給答案,連微積分都難不倒他
Posted on2019/05/27
TO 精選觀點
【為什麼我們要挑選這篇文章】AI 應用越發奇葩,過去寫數學一支筆、一顆腦,現在連腦都不用,帶個 AI 就行。
中國 GitHub 大神研發數學 AI,透過深度學習與影像識別,打造最強解題神器。每個學生都夢寐以求的數學 AI 究竟怎麼下載?怎麼用?接著看下去。(責任編輯:陳伯安)
作者:量子位/ 曉查 銅靈
一位叫 Roger 的中國學霸小哥的拍照做題程式 mathAI 一下子火了,這個 AI,堪稱數學解題神器。
輸入一張包含手寫數學題的圖片,AI 就能辨識出輸入的數學公式,然後給出計算結果。
不僅加減乘除基本運算,就連高等數學中的微積分都不在話下。
就像下面這樣:
還在苦苦糾結高數作業如何求解?還在東奔西走的找學霸借作業?手握 mathAI,不就是手握了新時代的解題利器嗎?
此項目程式碼已半開源
短短幾天時間,這個項目在微博就收穫了上百次轉發。看到畫風如此新奇,似乎還能開啓無限可能應用,網友們紛紛召喚自己的印象筆記(中國版 Evernote)小助手收藏,大呼:以後教數學就是它了。
作者表示,這個專案已經是半開源狀態了,目前開源的部分可以辨識計算加減乘除簡單運算。
如果想要辨識更加複雜的運算式,可以參考數學公式辨識的論文自己進行擴展。
具體來看看這個解題神器。
深度學習辨識數學題,正確率逼近 80%
全能型選手 mathAI 是怎麼實現這個功能的?
作者在 Github 中介紹說,整個程式使用 python 實現,具體處理流程包括:圖像預處理 → 字元辨識 → 數學公式辨識 → 數學公式語義理解 → 結果輸出。
整個系統的處理流程如下:
圖片預處理主要以 OpenCV 作為主要工具,將圖片中的字元單獨切割出來,避免無關變數對字元辨識的影響。
隨後,國際數學公式辨識比賽資料集(CROHME)對通過卷積神經網路進行訓練。
此外,還進行結構分析,對字元的空間關係進行判定。比如一個字元的上標和下標,含義自然不一樣。
在語義分析階段,就需要匯集上面得到的資訊,判斷運算該如何進行了。節點屬性傳遞過程如下圖所示:
作者在用 160 道手寫測試題進行了測試:
結果表明,平均字元辨識率達到了 96.23%,且系統做題的平均正確率達到了 79.38%。
手把手教學怎麼用
來,實際上手操作下。
作者給出兩種使用模式:網頁模式和介面模式(Interface)。介面模式比較直觀,只需打開網頁上傳圖片即可自動給出解題結果。
下面以介面模式為例介紹一下 mathAI 的安裝使用方法。
首先需要安裝 flask、虛擬環境、科學資料庫 numpy、sympy 等,它們都可以用 pip 安裝。
pip install flask
pip install virtualenv
將項目的 lib.zip 檔解壓到系統目錄的 venv 資料夾下。(lib.zip 可以回覆 lib 獲取)
配置置好運行環境後,用 PyCharm 打開下載好的專案,在載入過程中,PyCharm 會自動安裝好專案依賴的軟體資料庫。
使用命令列進入專案所在目錄,並啓動虛擬環境:
. venv/bin/activate
將 FLASK_ENV 環境變數設置為啓用開發模式:
export FLASK_ENV=development
然後使用指令運行 flask 網站框架 :
export FLASK_APP=welcome.py
flask run
打開流覽器,在位址中輸入 127.0.0.1:5000,即可打開項目網頁。在網頁中輸入一張包含數學公式的圖片,就好返回運算結果。
目前 GitHub 專案頁上的程式碼只支持加減乘除這樣的簡單運算。
中國神人 Roger 的其他 GitHub 發明
做出這個自動求解系統的,還是一位元中國少年。
這位 GitHub ID 為 Roger,本名羅文傑,是中山大學資料科學與電腦學院的研一在讀碩士生,主要攻讀電腦視覺方向。
不僅這個解題神器,在 Roger 的 GitHub 主頁上還能看到其此前參與的很多有趣研究。
比如這個基於帖子的校園互助交友平臺 LiBond。用戶可以在裡面發佈任務,然後使用虛擬幣荔枝進行交易。
羅同學的設想是,有閒置時間的同學可以在此平臺上幫助他人,然後結交好朋友,荔枝幣還能用來兌換喜歡的物品。
再比如,一個基於 C++ 的無禁手五子棋 AI,可以通過 openGL 實現圖形介面。
在這個項目中,羅同學使用了最經典的極大極小博弈樹、alpha-beta 剪枝、置換表等演算法,還附上了核心程式碼。
確認過眼神,是學霸無疑了。
資料來源:https://buzzorange.com/techorange/2019/05/27/math-ai/…
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
python numpy下載 在 軟體開發學習資訊分享 Facebook 的最讚貼文
這個課程是關於整合方法 (Ensemble Methods)。
已經學習了一些經典的機器學習模型,如 k-nearest neighbor 和決策樹。 也研究了他們的局限和缺點。
但是,如果可以結合這些模型來消除這些限制,並產生更強大的分類器或迴歸器呢?
在本課程中,你將學習如何將決策樹和邏輯迴歸等模型相結合,以建立可以達到比基礎模型更高的精度的模型。
具體來說,課程將詳細研究隨機森林和 AdaBoost 演算法。
為了激勵討論,課程將學習統計學習中一個重要的話題 – 偏差 – 變異權衡 ( bias-variance trade-off )。然後,我們將研究 bootstrap 技術和 bagging 作為同時減少偏差和變異的方法。
將會做大量的實驗,並在真實的資料集上使用這些演算法,這樣你就可以親眼看到它們是多麼的強大。
由於深度學習如此受歡迎,課程也會研究隨機森林、AdaBoost 和深度學習神經網路之間的一些有趣的共同點。
這個課程的材料都是免費的。你可以使用 Windows、Linux 或 Mac 上的簡單命令下載並安裝 Python、Numpy 和 Scipy。
https://softnshare.com/…/ensemble-machine-learning-python-…/
python numpy下載 在 Mina 安米娜 Facebook 的最讚貼文
題目:如果飛機在飛行當中打一個小洞的話 會不會影響飛行的安全呢?
.
選兩個你覺得最有可能的答案
(0)其實狗搖尾巴有很多種方式 高興搖尾巴 生氣也搖尾巴
(1)如果這個洞的話經過仔細的設計的話 應該不至於造成太大問題
(2)所以只要依照政府規定 在採收前十天不要噴灑農藥
(3)靜電才是加油站爆炸的元凶 手機不過是代罪羔羊
(4)我們可以用表面張力及附著力的原理 來測試看看
(5)不過蝦子死亡後 身體會釋放出有毒素的體液 可能造成水的變質
.
答案請直接拉到最後一段
-----------------------------------
其實我每個周一晚上.....
.
都有偷偷參加Machine Learning的線上讀書會(請勿認親XD)
.
加入已經一年多,今天終於有機會當Host了(感動
.
我就分享一下我今天講的
.
搞不好看完你們就想睡了 哈 我也算功德無量
.
主題:【自然語言語意分析;Natural Language Processing】
.
簡單來說,電腦可以理解人類很口語的話,電腦也可以透用人類的語法解釋給人類聽電腦自己的想法(output概念)
.
像是siri功能就是
.
你跟siri講「我明天要7:30起床」跟「早上7:30分叫我」
-->siri都會幫你設早上7:30分的鬧鐘
.
表示 siri她聽得懂你很口語,亂七八糟的,非結構化的語意!!!!!
.
廢話不多說,我們直接來跑程式
.
(0)環境jupyter notebook python 3.6.3
.
(1) 下載一份語料('cna.cbow.cwe_p.tar_g.512d.0.txt')
https://mega.nz/#!5LwDjZia!f77y-eWm90H3akg8mD9CqhOZ89NihirRKN4IT1SJ01Q
.
【圖1】每一個詞都有一個介於0~1的分數,分數越接近表示他們的意思越相近,
像是「柯文哲」可能是0.0000420,「市長」可能是0.0000428;
像是「快樂」可能是0.0000123,「高興」可能是0.0000124
.
(2)下載jieba numpy
語法:
import jieba
import numpy as np
.
(3)把cna.cbow.cwe_p.tar_g.512d.0.txt解析後存成word_vecs物件
.
(4)給電腦題目:"如果飛機在飛行當中打一個小洞的話 會不會影響飛行的安全呢?
.
給電腦6個選項問他哪一個是對的
.
(5) 【圖2】電腦會給六個答案,每個答案都會有一個介於0~1的數字,數字最大的選項,就是電腦的答案!
.
電腦會選:如果這個洞的話經過仔細的設計的話 應該不至於造成太大問(分數0.632分)
.
我們可以用表面張力及附著力的原理 來測試看看(分數0.57分)
.
(6)結論就是: 電腦答對了!! 🤣😃
.
大家晚安
安米娜
#naturallanguageprocessing #NLP
reference
https://www.youtube.com/watch?v=ERibwqs9p38&list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6&index=2
完整語法在這裡
https://fgc.stpi.narl.org.tw/activity/videoDetail/4b1141305ddf5522015de5479f4701b1