MITとマイクロソフトはAI向けにLeetCodeプログラミング問題集をカスタマイズした

MITとマイクロソフトはAI向けにLeetCodeプログラミング問題集をカスタマイズした

[[407672]]

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

プログラミングの問題をこのように説明するのを見たことがありますか?

自然言語による説明や、入力および出力の例はなく、表示されるのはPython 関数だけです。

これは、MIT、Allen AI、Microsoft の研究者によって提案されたプログラミングの質問を説明する新しい方法です。

各問題は短い Python 関数 f によって定義され、f が true を出力するような入力 x を見つけることが目標です。

この質問形式により、AI が質問を確認しやすくなり、人間のプログラマーの理解にも影響が及びません。

AIプログラミングへの道はますますスムーズになっています。

この研究を詳しく見てみましょう。

自然言語記述のないプログラミング問題

この記述方法を説明します。

質問はPython関数の形式をとり、引数が答えになります。

問題を解く目的は、関数の出力を真にする入力 x、つまり f(x) = true を満たす正解を見つけることです。

では、学んだことを別の問題に適用してください。この新しい形式を使用して、1,000 個の不連続な「o」の文字列をどのように記述しますか?

[[407673]]

正解:

以下に、この質問に対するさらに 2 つのサンプルの説明を示します。

動的計画法 - 最長の単調増加部分列問題:

古典的なハノイの塔

研究者たちはこのフォームにさまざまなプログラミングの質問を含め、P3と呼ばれるオープンソースのデータセットを提案しました。

このデータセットの質問タイプは非常に包括的で、さまざまな難易度、さまざまな分野、さまざまなアルゴリズム ツールの質問をカバーしています。

単純な文字列操作の問題があります。

ハノイの塔のような古典的な問題や、チェスのような難しい問題(ナイトツアーアルゴリズムや N クイーン問題のバリエーションなど)があります。

三目並べ、じゃんけん、マスターマインドなど、最善の戦略を見つける 2 人用チャレンジもあります。

また、さまざまなグラフ理論や数論の問題など、国際数学オリンピック (IMO) や国際大学対抗プログラミングコンテスト (ICPC) の問題も含まれています。

合計208種類の質問タイプ、14万問以上の問題が掲載されており、現在も更新中です。

各質問には少なくとも 1 つの回答が提供されます。

この新しいプログラミング チャレンジ問題バンク データセットは、プログラミング問題の本質を捉えており、 AI プログラミングを教えたりAI のプログラミング能力を評価したりするために使用できます。

研究者らは、この一連の質問によりAIのプログラミング能力を客観的に評価できると述べた。答えを見なくても、解法の正しさを直接検証できるからです。したがって、このタイプの質問では、AI に回答の偏りを学習する負担がかかりません。

このデータセットが新しい AI プログラミング ソリューションの開発につながることを期待しています。

これらの問題を解決するためにプログラムされたさまざまな AI ソルバーのパフォーマンスはどの程度でしょうか?

研究者らは徹底的な実験を行い、ランダムフォレスト、トランスフォーマー、さまざまな種類の GPT-3 プロンプトに基づく AI ソルバーを開発しました。これらのソルバーは、さまざまなパラメーター列挙、トップダウン方式を採用し、この P3 データセットを使用してパフォーマンスを評価しました。

まず、以前に新しい問題を解決するために使用された方法を使用して、このデータセットでこれらのソルバーのブートストラップの有効性をテストします。

結果は、試行回数を増やすことで新たな問題を解決できる可能性があることを示しました。しかし、過去の経験から学ぶことで、新たな問題をより早く解決することもできます。

次の図は、これらの AI ソルバーがさまざまな試行で解決した問題の数を示しています。

小規模なユーザー調査では、Python プログラミングの経験年数が異なる 21 人のプログラマーが、難易度の異なる 30 の問題を解きました。各問題を解くのに最大 6 分を割り当てます。

このデータセットを使用して、AI と人間のプログラマーのプログラミング難易度の認識を評価したところ、次のことがわかりました。

人間にとって難しい問題は、AIにとってもさらに困難です。現段階では、AIソルバーが解決できる問題のほとんどは、人間にとっては比較的簡単です。

上の図は、人間と AI が出したさまざまな質問の難易度スコアを、人間のスコア順に並べたものです。人間の難易度スコアは、問題を解決するために許容される最大時間の平均スコアとして測定されますが、AI の難易度スコアは、問題を解決するために必要な試行回数に基づいています。

さらに、AI はこの形式を使用してパズルの 60% を解くことができましたが、初心者と経験豊富なプログラマーはそれぞれ平均で 76% と 87% のパズルを解くことができました。

一般的に、この新しいデータセットと慎重に設計された AI ソルバーを使用することで、AI プログラミングが問題を解決するために必要な試行回数を大幅に削減し、より多くの問題を解決できるようになります。

したがって、研究者たちは、この新しいプログラミング問題バンクのデータセットが、新しい AI プログラミング ソリューションの研究開発と AI プログラミングの効率とパフォーマンスの向上においてすべての人をサポートできることを期待しています。

以前、カリフォルニア大学バークレー校はAIにLeetCodeを解くよう訓練した。合計5,000問のテストで、AIは15%に答えることができた。

このデータセットをトレーニングに使用すると、どの程度のレベルの AI プログラミング機能が実現できるのでしょうか?

論文アドレス: https://arxiv.org/abs/2106.05784

オープンソース データセット リンク: https://github.com/microsoft/PythonProgrammingPuzzles

<<:  AI がデータセンターのワークロード管理の課題を解決する方法

>>:  AIが別のAIに命令する、GAN+CLIPの組み合わせで「CGアーティスト」に

ブログ    

推薦する

...

...

チャットテクノロジーと IoT セキュリティの将来はどうなるのでしょうか?

OpenAIは2022年11月30日にChatGPTをリリースしました。大規模言語モデル GPT3...

AIはデザインにおいて具体的にどのように使用されるのでしょうか?

人工知能は、過去数十年で最も大きな技術進歩の一つになりました。可能性は刺激的で無限であり、さまざまな...

人工知能市場の収益は今年1560億ドルに達する見込み

調査によると、人工知能(AI)ソリューションは現在急速に成長している市場であり、2020年までに1,...

...

自然言語処理にディープラーニングを使用するにはどうすればよいでしょうか?練習チェックリストはこちら

[[198324]]導入この記事は、自然言語処理 (NLP) にニューラル ネットワークを使用する方...

...

JVM メモリ管理 - GC アルゴリズムの詳細な説明

導入究極のアルゴリズムとは何ですか?実際、これは現在の JVM で使用されているアルゴリズムであり、...

サイバーセキュリティにおける人工知能の4つの利点と課題

この記事では、サイバーセキュリティにおける機械学習と人工知能について説明します。 AI の利点と課題...

Cloudera Greater Chinaのテクニカルディレクター、Liu Lifang氏:より正確なAIにはより正確なデータが必要

アプリケーションの可観測性と AI の信頼、リスク、セキュリティ管理は、ガートナーが 2023 年に...

感情コンピューティングは人間とコンピュータの相互作用の中核となるのでしょうか?感情分析におけるディープラーニングの応用について

人間とコンピュータの相互作用における感情コンピューティングの役割感情コンピューティングについて話す前...

人工知能開発における5つの制約問題、数千の問題を解決する5つの解決策

[[237095]]人工知能はどこにでもあるようです。私たちはそれを自宅や携帯電話で体験します。起業...

AIが「迷惑メール」をフィルタリングし、ユーザーが価値あるメールを素早く見つけられるようにする

現在、世界中で毎日送信される 3,000 億通の電子メールのうち、少なくとも半分はスパムです。電子メ...