元スレ:https://egg.5ch.net/test/read.cgi/bizplus/1592396337/
1: 田杉山脈 ★ 2020/06/17(水) 21:18:57.52 ID:CAP_USER
FacebookはC++、Java、Pythonなどの高水準言語で書かれたプログラムコードを別のプログラミング言語に変換するニューラルトランスコンパイラを開発したという。このシステムは教師なし学習を採用しており、同社は従来よりもかなり効率が改善したとしている。

既存のプログラムコードを別の言語に移行するには、両方の言語について専門的な知識が必要な上、コストがかかってしまいがちだ。たとえばオーストラリアのコモンウェルス銀行はプラットフォームをCOBOLからJavaに移行するために5年の歳月と約7億5,000万米ドルを費やした。

Facebookは教師なし学習というアプローチ法に取り組み、C++、Java、Python間でソースコードを変換することができる「TransCoder」を開発した。トレーニングには280万件以上のオープンソースリポジトリからなるGitHubコーパスを使用した。TransCoderは元のプログラムコードを別の言語へ変換し、変換したプログラムコードを元の言語へ再度変換することを繰り返して学習している。

TransCoderのパフォーマンス評価にはGeeksforGeeks(コーディングの問題点や解決方法を集めたオンラインプラットフォーム)から抽出したC++、Java、Pythonの関数852個を使用した。Facebookによると、最も評価の高かったバージョンのTransCoderは、厳密に言えば同一の関数を生成していないことが多かったが、計算精度が高かった。以下にTransCoderが期待される結果を返した割合をまとめる。

C++からJavaへの変換:74.8%
C++からPythonへの変換:67.2%
JavaからC++への変換:91.6%
PythonからJavaへの変換:56.1%
PythonからC++への変換:57.8%
JavaからPythonへの変換:68.7%
TransCoderが各言語に特有のシンタックスを理解するだけでなく、言語のデータ構造やメソッドも理解したことが証明されたと研究者らは述べている。

専門知識を持たなくても、TransCoderを使えばあらゆるプログラミング言語で容易にソースコードを生成できます。しかも商業用のソリューションを大幅に上回っています。

AIによるコード生成システムを開発しているのはFacebookだけではない。今年行われたMicrosoftのカンファレンス「Build」では、OpenAIが英文で書かれたコメントから関数を生成するモデルをデモンストレーションした。2年前にはライス大学の研究者が「意図」を読み取ってコードを生成する「Bayouというシステムを作っている。

Intel Labsの主任研究者兼ディレクターのJustin Gottschlich氏はVentureBeatのインタビューに対してこう語った。

これらはソフトウェア開発の無駄を取り除いてくれます。バグ対応の手間が省けるので、プロダクティビティの加速化に役立ちます。そして新たな職を生み出します。なぜならプログラミングをしたことのない人々でもこれらのインターフェイスを通じてクリエイティブな直観を形にすることができるからです。
https://thebridge.jp/2020/06/facebooks-transcoder-ai-converts-code-from-one-programming-language-into-another

5: 名刺は切らしておりまして 2020/06/17(水) 21:32:49.72 ID:DdYJsufQ
>言語のデータ構造やメソッドも理解した
まじかよ

8: 名刺は切らしておりまして 2020/06/17(水) 21:37:59.39 ID:MQDPCWjT
対応言語を一周して同じ動きになってから発表しろよ。

9: 名刺は切らしておりまして 2020/06/17(水) 21:46:22.86 ID:SwSN/ozR
むしろ、ルールベースで出来ないの?

13: 名刺は切らしておりまして 2020/06/17(水) 22:01:24.68 ID:n1BvwaCv
べーしっ君

14: 名刺は切らしておりまして 2020/06/17(水) 22:02:55.00 ID:uosQIoSu
よし、COBOLを一括変換だな

15: 名刺は切らしておりまして 2020/06/17(水) 22:08:05.60 ID:LYXQviAg
これでバグが出たら地獄見る気がする

17: 名刺は切らしておりまして 2020/06/17(水) 22:10:02.82 ID:wq05Rhfq
~%変換とか意味ないから。
100%じゃないとゴミですよ。

21: 名刺は切らしておりまして 2020/06/17(水) 22:37:05.91 ID:YA0LBWXl
バグも翻訳中に直してくれるの?

22: 名刺は切らしておりまして 2020/06/17(水) 22:41:36.07 ID:D3u6MgW+
自然言語をプログラム言語に翻訳できる日も近い

26: 名刺は切らしておりまして 2020/06/17(水) 22:52:15.95 ID:SVKGpFpI
単純なコード以外無理そう

30: 名刺は切らしておりまして 2020/06/17(水) 23:13:28.31 ID:OXRRxryj
>PythonからC++への変換:57.8%
だめじゃん

33: 名刺は切らしておりまして 2020/06/17(水) 23:18:36.43 ID:Bg7swl4C
ちゃんと動くまで勝手にやってくれるなら素晴らしい

35: 名刺は切らしておりまして 2020/06/17(水) 23:26:46.68 ID:dJKSzFhH
勝手に要求仕様書を読んで、勝手に理解して、勝手にテストしてくれるAIが欲しいw
システム作るところが楽しいんだから、楽しみを奪わないで欲しいw

36: 名刺は切らしておりまして 2020/06/17(水) 23:28:44.19 ID:oAp0YOOF
元のソースコードが完璧ならいずれ出来そうだけど、たいていのプログラムはバグを抱えてるからソレが悪さして訳分からん不具合抱えて動作すらしなさそう

42: 名刺は切らしておりまして 2020/06/18(木) 00:06:26.49 ID:Mash+A4a
変換率100行かないなら、どんだけテストしなきゃいけないのか

47: 名刺は切らしておりまして 2020/06/18(木) 00:30:08.05 ID:MAIOwiHT
テストコード込のコードの前提で、AIでテストを完全にパスするまで再帰してくれたらええのに

逆の発想で、クラスとメソッドのスケルトンとテストコードから、中身を自動実装するAIあったらええのに

53: 名刺は切らしておりまして 2020/06/18(木) 02:27:48.77 ID:6LPa6V0x
モックの繊維だけみたら全部作ってくれればよいんやで

56: 名刺は切らしておりまして 2020/06/18(木) 03:08:47.06 ID:3JsGnrtI
英語の翻訳ソフトのように、プログラムの文法や構文・関数の意味を
視覚的に表してくれるソフトでねーかな

59: 名刺は切らしておりまして 2020/06/18(木) 05:30:27.92 ID:X/AAx9Ff
やろうと思えばプログラムコードを別のプログラミング言語に変換するのって100%の精度でできるだろ
役に立たなさすぎ

60: 名刺は切らしておりまして 2020/06/18(木) 05:36:29.34 ID:eu2Vosef
こんな制度でアホか
作るよりデバッグの方が大変なことが分かってないニワカだな
ミズホに素材を貰って学習しなおせよ

64: 名刺は切らしておりまして 2020/06/18(木) 08:13:19.56 ID:kBXR9y3N
変換できなかった部分とオリジナルの違いとか考えると全く使えんな

70: 名刺は切らしておりまして 2020/06/18(木) 10:39:28.33 ID:44yCShOa
逆コンパイラ作れば、アセンブリ経由でいくらでも相互変換できるじゃん

75: 名刺は切らしておりまして 2020/06/18(木) 11:33:18.85 ID:Ht0Ao6jT
プログラムは人間が書くから
コメントはAIが書いてくれないかな

95: 名刺は切らしておりまして 2020/06/18(木) 13:54:13.46 ID:SrFf9Alk
ライブラリ呼んでる場合はどうするの?

98: 名刺は切らしておりまして 2020/06/18(木) 14:01:56.30 ID:rvOB/mke
99%なら凄いって思うけど
この変換率だと別に必要ないわ

99: 名刺は切らしておりまして 2020/06/18(木) 14:27:42.73 ID:37THaXye
理系お得意のチューニングマシンがなんたらかんたら

106: 名刺は切らしておりまして 2020/06/18(木) 18:52:41.24 ID:p00V0JhD
コボラーおじさんのおれ
また勝ち抜けかよ

109: 名刺は切らしておりまして 2020/06/18(木) 19:33:32.15 ID:Qu/vtkT6
メタメタなメタプログラミングしてるC++とか無理じゃないの

111: 名刺は切らしておりまして 2020/06/18(木) 22:05:28.29 ID:MEJzjOdW
可逆じゃないんだ
へー

スポンサーリンク