高度な数学の問題解決ツール:写真を撮ってアップロードすると答えがわかる。この中国の学生は驚くべきAIを作った

高度な数学の問題解決ツール:写真を撮ってアップロードすると答えがわかる。この中国の学生は驚くべきAIを作った

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

中国の天才学者ロジャー氏が開発した、写真を撮るだけで数学の問題を解けるmathAIプログラムは、瞬く間に人気を博した。このAIは数学の問題を解く魔法のツールとも言える。

手書きの数学の問題が書かれた画像を入力すると、AI は入力された数式を認識し、計算結果を提示します。

足し算、引き算、掛け算、割り算といった基本的な演算だけでなく、高度な数学の微積分も問題ありません。

このような:

上級数学の宿題を解く方法にまだ苦労していますか?宿題を借りるために優秀な生徒を探し回っているのですか? mathAI を手にすると、新しい時代の問題解決ツールを手にしたような気分になりませんか?

わずか数日で、このプロジェクトはWeiboで何百回も転送されました。この絵画スタイルは非常に斬新で、さまざまな応用の可能性を秘めているように見えることから、ネットユーザーは Evernote アシスタントをコレクションに呼び出して、「すごい、これは将来、うちの子に算数を教えるものだ」と叫んだ。

作者によれば、このプロジェクトはすでに半オープンソースの状態にあり、現在のオープンソース部分は加算、減算、乗算、除算などの簡単な演算を認識して計算できるとのこと。

より複雑な式を認識したい場合は、数式認識に関する論文を参考にして自分で拡張することができます。

この問題解決ツールを詳しく見てみましょう。

実装プロセス

万能プレイヤーmathAIはどのようにしてこの機能を実現するのでしょうか?

著者はGithubで、プログラム全体がPythonで実装されており、具体的な処理フローは、画像の前処理→文字認識→数式認識→数式の意味理解→結果出力となっていることを紹介しました。

システム全体の処理フローは以下のようになります。

画像の前処理では、文字認識に関係のない変数の影響を避けるために、主に OpenCV をメインツールとして使用し、画像内の文字を個別に切り取ります。

その後、国際数式認識コンペティション (CROHME) データセットが畳み込みニューラル ネットワークを使用してトレーニングされました。

さらに、文字の空間的な関係を決定するために構造分析が行われます。たとえば、文字の上付き文字と下付き文字は当然意味が異なります。

セマンティック解析の段階では、上記で得られた情報を収集し、どのように操作を実行するかを決定する必要があります。ノード属性転送プロセスを次の図に示します。

著者は 160 個の手書きのテスト問題でテストしました。

結果によると、平均文字認識率は 96.23% に達し、システムの回答の平均精度は 79.38% に達しました。

始める

さあ、実際に試してみましょう。

著者は、Web ページ モードとインターフェイス モードの 2 つの使用モードを提供しています。インターフェース モードは比較的直感的です。Web ページを開いて画像をアップロードするだけで、自動的にソリューションが提供されます。

以下では、インターフェイス モードを例にして、mathAI のインストール方法と使用方法を紹介します。

まず、 flask仮想環境、科学計算ライブラリ numpy、sympy などをインストールする必要があります。これらはすべて pip を使用してインストールできます。

プロジェクトの lib.zip ファイルをシステム ディレクトリの venv フォルダーに解凍します。 (lib.zipはlibに返信することで入手できます)

動作環境を設定したら、 PyCharmを使用してダウンロードしたプロジェクトを開きます。読み込みプロセス中に、PyCharm はプロジェクトが依存するソフトウェア ライブラリを自動的にインストールします。

コマンドラインを使用してプロジェクト ディレクトリに入り、仮想環境を起動します。

開発モードを有効にするには、FLASK_ENV 環境変数を設定します。

次に、次のコマンドを使用して、Flask Web サイト フレームワークを実行します。

ブラウザを開き、アドレスに 127.0.0.1:5000 と入力してプロジェクトの Web ページを開きます。ウェブページ上に数式を含む画像を入力すると、計算結果が返されます。

現在、GitHub プロジェクト ページのコードは、加算、減算、乗算、除算などの単純な演算のみをサポートしています。

中国のティーンエイジャー

この自動解答システムを作ったのは中国のティーンエイジャーです。

この人物は、GitHub IDがRoger、本名がLuo Wenjieで、中山大学データサイエンス・コンピュータサイエンス学院でコンピュータビジョンを専攻する修士課程1年生です。

この問題解決ツールに加えて、彼がこれまでに参加した多くの興味深い研究も彼の GitHub ホームページで見ることができます。

たとえば、 LiBondはポストベースのキャンパス相互援助および友情プラットフォームです。ユーザーはそこにタスクを投稿し、仮想通貨 Lizhi を使用して取引を行うことができます。

羅さんの考えは、時間のある学生がこのプラットフォームで他の人を助け、良い友達を作ることができるというものだ。ライチコインは好きなアイテムと交換するのにも使える。

たとえば、制限のない C++ ベースの五目並べ AI は、OpenGL を通じてグラフィカル インターフェイスを実装できます。

このプロジェクトでは、Luo は最も古典的なミニマックス ゲーム ツリー、アルファベータ プルーニング、順列テーブルなどのアルゴリズムを使用し、コア コードも添付しました。

目を合わせて確認すると、彼が優秀な生徒であることがよく分かりました。

ポータル

***、アーティファクトの Github アドレスは次のとおりです。

https://github.com/Roujack/mathAI

デモで使用されるWord、PPT、ビデオチュートリアルも含まれています。

<<:  認知科学から進化まで、強化学習における最新の2つのブレークスルーを詳しく説明します

>>:  海外メディアがFacebookのコンテンツクリーンアップ作業を暴露:AIでも完了できない作業

ブログ    

推薦する

...

...

...

KDnuggets 調査 | データ サイエンティストが最もよく使用するアルゴリズム トップ 10

翻訳 | 江凡百理子杰樹校正 | ロリン最新の KDnuggets 調査では、データ サイエンティス...

機械学習が製造業に革命を起こす10の方法

人工知能の導入は製造業に大きな経済的利益をもたらすでしょう。この点に関しては、さまざまな研究機関が関...

...

...

...

...

マイクロソフトがAIコンテンツレビューツール「Azure AI Content Safety」を正式にリリース

10月18日、マイクロソフトは健全で調和のとれたコミュニティ環境を作り、写真やテキスト内の偏見、憎悪...

コンピュータビジョンによる3D再構成 - 自動運転に焦点を当てる

最近、私は何かに没頭しています。没頭するというのは、諦めるということではなく、むしろ醸成していくプロ...

...

すべては可能だ:コンピュータビジョンCVとNLPの分野はますます融合している

[[347900]] 2020年10月、ディープラーニング分野のトップカンファレンスであるICLR ...

純粋な MLP は下流のタスクには適していませんか? Meta AIらは、トランスフォーマーを上回るスパースMLPを提案した。

注意ベースのモデルの代替として、純粋な MLP アーキテクチャがますます注目を集めています。 NLP...

...