16歳の高校生が13,000行以上のコードでC++機械学習ライブラリをゼロから作成した

16歳の高校生が13,000行以上のコードでC++機械学習ライブラリをゼロから作成した

コンピューターが大好きなティーンエイジャーは、16歳にしてすでに、広東語プログラミング言語の開発、Kaggleチャンピオンシップでの優勝、ゲームの執筆、暗号通貨投資ロボットの開発、C++機械学習ライブラリのゼロからの構築など、何かを創造することができます。

今日は、C++ 機械学習ライブラリをゼロから構築した 16 歳の少年 (@novak-99) を紹介したいと思います。彼の自己紹介の投稿は、reddit で何百ものいいねを獲得しました。

彼が構築したライブラリ (ML++) には 13,000 行を超えるコードが含まれており、統計、線形代数、数値解析、機械学習、ディープラーニングなどのトピックをカバーしています。

プロジェクトアドレス: https://github.com/novak-99/MLPP

@novak-99 は、C++ が自分の選択言語であったためこのライブラリを構築したと述べていますが、ML フロントエンドに関しては、C++ はほとんど使用されていません。

C++ は効率的で、高速実行に適しています。そのため、ほとんどのライブラリ (TensorFlow、PyTorch、Numpy など) は、最適化と速度のために C/C++ または C/C++ 派生言語を使用します。

しかし、さまざまな機械学習アルゴリズムのフロントエンド実装を調べてみると、そのほとんどが Python、MatLab、R、または Octave で実装されていることに気付きました。彼は、C++ が ML フロントエンドであまり使用されない理由は、主にユーザー サポートの不足と C++ の複雑な構文にあると考えています。

Python と比較すると、C++ の機械学習フレームワークは非常に少ないです。さらに、PyTorch や TensorFlow などの一般的なフレームワークでも、C++ 実装は Python 実装ほど完全ではなく、ドキュメントが不足している、すべての主要関数が存在しない、貢献する意思のある人があまりいないなどの問題があります。

さらに、C++ は Python の ML スイートのさまざまな主要ライブラリをサポートしていません。 Pandas も Matplotlib も C++ をサポートしていません。これにより、データの視覚化とデータ分析の要素を取得するのが難しくなるため、ML アルゴリズムの実装時間が長くなります。

そこで彼は、C++ 機械学習ライブラリを自分で作成することにしました。

また、ML アルゴリズムは実装が非常に簡単なため、一部のエンジニアは実装とその背後にある数学的な詳細を見落とす可能性があるとも指摘しました。数学的な詳細を理解しなければ、特定のユースケースに合わせて ML アルゴリズムをカスタマイズすることは不可能であるため、これは問題になる可能性があります。そこで彼は、ライブラリに加えて、統計、線形回帰、ヤコビ行列、バックプロパゲーションなど、ライブラリ内の各機械学習アルゴリズムの背後にある数学的背景を説明する包括的なドキュメントもリリースする予定です。ここにいくつかの統計があります:

プロジェクトを開くと、いくつかの詳細が表示されます。

19の主要なトピックを網羅したこのML++は、十分に大規模で包括的です。

ほとんどのフレームワークと同様に、高校生が作成した ML++ ライブラリは動的であり、常に変化しています。これは、毎日新しいアルゴリズムや技術が開発されている機械学習の世界では特に重要です。

現在、ML++ ライブラリでは次のモデルとテクニックが開発されています。

  • 畳み込みニューラルネットワーク (CNN)
  • サポートベクターマシン (SVM) カーネル
  • サポートベクター回帰

全体として、ML++ ライブラリには、次の 19 の主要トピックと関連するサブコンテンツが含まれています。

  • 回帰(線形回帰、ロジスティック回帰、ソフトマックス回帰、指数回帰、プロビット回帰、クロッグログ回帰、Tanh 回帰)
  • ディープでダイナミックかつスケーラブルなニューラル ネットワーク (活性化関数、最適化アルゴリズム、損失関数、正則化手法、重み初期化手法、学習率プランナー)
  • 構築済みのニューラル ネットワーク (多層パーセプトロン、オートエンコーダ、ソフトマックス ネットワーク)
  • 生成モデリング(表形式の生成的敵対ネットワーク)
  • 自然言語処理(Word2Vec、ステミング、bag-of-words、TFIDF、補助テキスト処理関数)
  • コンピューター ビジョン (畳み込み演算、最大/最小/平均プーリング、グローバル最大/最小/平均プーリング、事前構築された特徴ベクトル)
  • 主成分分析
  • ナイーブベイズ分類器(多項式ナイーブベイズ、ベルヌーイナイーブベイズ、ガウスナイーブベイズ)
  • サポートベクター分類(プライマルフォーメーション、デュアルフォーメーション)
  • K平均法アルゴリズム
  • K近傍アルゴリズム
  • 外れ値ファインダー(標準スコアを使用)
  • 行列分解(SVD分解、コレスキー分解、QR分解)
  • 数値解析(数値微分、ヤコビベクトル計算機、ヘッセ行列計算機、関数近似器、微分方程式ソルバー)
  • 数学的変換(離散コサイン変換)
  • 線形代数モジュール
  • 統計モジュール
  • データ処理モジュール (特徴スケーリング、平均正規化、ワンホット表現、逆ワンホット表現、サポートされている色空間変換タイプ)
  • ユーティリティ (TP/FP/TN/FN 関数、精度、再現率、正確度、F1 スコア)

詳細については、元のプロジェクトを参照してください。

ネットユーザー:とても暑いですが、どうしたらいいですか?

16歳でこのような傑出した作品が生み出されるという事実に対して、一部のネットユーザーはため息をつくばかりだ。この世の高校生は一体何をしているんだ?!私が彼らと同じ年齢だった頃は、まだ「指を噛んでいた」。そして彼らは ICLR や NeurIPS カンファレンスで論文を発表しています...

ネットユーザーの中には、高校生がこんなことをしているのなら、数年後の博士課程への出願競争がどれほど熾烈になるか想像できる、との声もある。今後、チューリング賞を受賞するには、3 件以上の NeurIPS 論文を発表するだけで済みます。

冗談のように思われるかもしれないが、現時点ではある程度「転がっている」とも言える。

しかし、一部のネットユーザーは、プロジェクトには13,000行のコードがあるのにテストがないと指摘しています。別のネットユーザーは、これは個人的な趣味に基づいて作成されたペットプロジェクトであり、実際の使用例には適していないと考えています。したがって、ここではテストは重要ではありません。

参考リンク:

https://www.reddit.com/r/MachineLearning/comments/srbvnc/p_c_machine_learning_library_built_from_scratch/

<<:  誰かが匿名ソフトウェアで私の学校を爆破したいと言っていたので、私はすぐに先生と警察に通報しました。xdm、私は正しいことをしたのでしょうか?

>>:  AIとIoT:共生関係

ブログ    
ブログ    
ブログ    

推薦する

...

アメリカのショッピングプラットフォームStitch Fixの王建強氏:データ主導の意思決定サポートと製品インテリジェンス

[51CTO.comより] 最近、51CTOが主催するWOTAグローバルアーキテクチャと運用技術サミ...

...

AIは寒さに晒されているのか?スタンフォード大学の年次AIレポートが秘密を明らかにする

2019年へのカウントダウンが始まり、今年はAIの発展に関する議論がたびたび取り上げられています。 ...

...

...

テンセントのロボットファミリーに新しいメンバーが加わりました。「新年の挨拶をして紅包をお願いする」ことができるロボット犬を見たことがありますか?

テンセントは3月2日、自社で完全に開発したソフトウェアとハ​​ードウェアを搭載した初のマルチモーダル...

責任あるAIの未来を探る

テクノロジーが進歩するにつれ、組織は倫理、透明性、説明責任のバランスを取りながら AI の可能性を活...

Meituanグラフニューラルネットワークトレーニングフレームワークの実践と探索

著者 | Fu Haoxian、Peng Xiangzhou 他グラフニューラルネットワークの長期的...

DeepTraffic: MIT シミュレーション ゲームがディープラーニングを使用して交通渋滞を緩和

[[196857]]渋滞に巻き込まれるのはイライラするだけでなく、費用もかかります。頭痛の原因になっ...

2018 年に人工知能があなたの生活、仕事、遊びに革命を起こす 8 つの方法

2017年、人工知能はあらゆる面でブームを巻き起こしました。イーロン・マスクからマーク・ザッカーバー...

ロボット工学の分野にディープラーニングを取り入れる新たな試みはありますか?

ディープラーニングが人気を集めている今、誰もが自分の研究分野でそれを活用できないか考えています。その...

「幾何学的ディープラーニング」からのディープラーニングの統合

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

あるいは人間の目よりも鮮明です!世界初の3D人工眼球が発売され、何百万人もの人々が視力を取り戻す

[[327384]] 5月24日、メディアの報道によると、香港科技大学の研究者らがネイチャー誌に発表...