プログラミング言語間の変換のための人工知能

(へ アレッサンドロルゴロ)
03/08/20

私たちはもう、それを聞いても驚かなくなりました 人工知能、アラン・チューリングが 70 年前、エッセイ「コンピューティング機械とインテリジェンス」で予言したように。 また、センサーを備え、話したり、書いたり、チェスをしたり、まったく異なるタスクを実行したりできる擬人化ロボットの進化を目にしても、私たちは驚くことはありません。

テクノロジーは急速に進歩しており、人類の真っ只中に、より進化した新しい種族、サイボーグが出現するまであと一歩です...

一見すると、今読んだセリフは、XNUMX 年前にイタリアのビーチで熱狂的な読者の間で非常に人気があった種類の、幻想的なアンソロジーから来たものだと思うかもしれませんが、そうではありません、これが現実です。

人工知能は現在テスト段階を通過し、私たちの日常生活、路上生活者の日常生活、そして企業の労働生活に強制的に侵入する準備を整えています。

ソーシャル メディアの世界である Facebook から、人工知能の使用に関する新しい製品、「Facebook の AI トランスコーダー」が登場しました。 どういうことなのか見てみましょう。

彼らは、プログラミング言語のコードコンバーターである最初の「Neural Transcompiler」を作成した Facebook の研究者です。 これは、高級プログラミング言語 (Java、Python、C++...) のコードを他のプログラミング言語に、またはその逆に変換できる AI ベースのシステムです。

実現されたシステムは、「教師なし」と呼ばれるカテゴリに属します。つまり、トレーニング データに関する指示は必要なく、理論的には人間による監視も必要ありません。

異なる言語間でプログラミング コードを変換する必要性が強く感じられます。 情報技術の進化とさまざまなプログラミング言語の開発に伴い、古いプログラミング言語の知識が不足しているため、新しい情報システムやプラットフォームに切り替えることが必ずしも経済的で実現可能であるとは限らないことがわかってきました。

銀行システムなどの大規模システムの移行にはコストが膨大になり、ここで新たなシステムが導入されます。 ニューラルトランスコンパイラ.
新しいシステムは、異なるプログラミング言語の同様の意味の表現をマッピングする「クロスリンガル言語」(事前トレーニング段階用)の使用に基づいています。

新しいシステムの精度は、少なくとも C++ と Java の間で切り替える場合には非常に高く (74,8% に達します)、C++ から Python へ切り替える場合には 67,2% に低下します。
Java から C++ への移行ではさらに良い結果が得られます (91,6%)。
Python から Java (56,1%) および Python から C++ (57,8%) への切り替えの精度はより控えめです。

産業界や軍事の世界では、変換が不可能で近代化には莫大なコストがかかるため、数十年前のシステムがまだ使用されているのは不思議ではありませんが、新しい機器はこの小さくない市場分野に位置付けられています。
システムの精度を向上させるには、特に古い言語で構築されたシステムから新しい言語への変換には時間がかかりますが、道は確実に開かれているようです。

セキュリティの観点から見ると、これはまったく別の問題であり、ケースバイケースで再度検討する必要があります。

もっと知ることができます。
https://medium.com/@learnbay/facebooks-ai-transcoder-6299a62bf222
https://medium.com/@learnbay/facebooks-ai-transcoder-6299a62bf222
https://www.infoq.com/news/2020/06/facebook-ai-transpiler/
https://medium.com/swlh/transcoder-facebooks-unsupervised-programming-la...