2か月でAIをゼロから学んだ方法とは?

2か月でAIをゼロから学んだ方法とは?

編集者注: 人工知能は「電気」のようなものになりつつあり、その将来の発展に関心を持つ人は誰でもそれについて知っておく必要があります。特に開発者にとって、人工知能を理解していなければ、将来的に競争力が大きく低下することになります。 Shival Gupta 氏が Hacker Noon に掲載した記事で、彼は 2 か月で人工知能を学び始めた経緯を説明しています。この記事は36Krによって翻訳されました。

[[212184]]

このご時世、誰もが忙しい。人々の私生活と職業生活は大きな変化を遂げています。さらに、AI などのテクノロジーが普及し始めると、習得したスキルは今後 2 年以内に時代遅れになるでしょう。

私がスタートアップ企業 Zeading を閉鎖したとき、私は衝撃的な事実に気づきました。とてもユニークなものを見逃しているような気がします。

絶えず変化する環境において、従来の意味でのフルスタック エンジニアであることだけでは不十分です。今後 2 年間で、フルスタック エンジニアは、人工知能技術を習得しなければフルスタック エンジニアではなくなるでしょう。

行動を起こす時が来ました。私は、今すぐにできると思った唯一の行動をとりました。開発者としてのスキルをアップデートし、プロダクトマネージャーの考え方と起業家の哲学を持ってデータにアプローチしたのです。

AIとフィンテック業界の著名なベンチャーキャピタリスト兼思想家であるスピロス・マルガリス氏は私にこう語った。

スタートアップ企業や企業が競争するためには、高度な AI や機械学習アルゴリズムだけに頼るだけでは不十分です。 AIはもはや競争上の優位性ではなく、基本的な要件となります。 「電気」を競争上の優位性として活用する人がいるのを聞いたことがありますか?

初めてのニューラルネットワークの構築

非常によくある提案は、Coursera で Andrew Ng のコースを受講することです。これは始めるには素晴らしい方法でしたが、長時間起き続けるのが難しいことがわかりました。授業がひどかったと言っているわけではありませんが、授業中に集中し続けるのは本当に大変でした。私の学習方法は常に実践であり、実践から新しい知識を獲得することです。そこで、自分でニューラル ネットワークを構築してみようと考えました。

しかし、ニューラル ネットワークの構築はより高度な学習方法であるため、すぐには開始しませんでした。私はまず、その分野を理解できるように、その分野のすべての用語に慣れることから始めました。

最初の課題は勉強することではありません。でも馴染み深い。

私は純粋な Javascript と Node.js のバックグラウンドを持っていたので、当時は他のプログラミング言語に切り替えるつもりはありませんでした。そこで、「nn」というシンプルなニューラル ネットワーク モジュールを検索し、それを使用して入力をシミュレートすることで「AND」演算を実装しました。チュートリアル (リンク) に触発されて、任意の入力 X、Y、Z に対して出力が X AND Y になる問題を選択しました。対応するコードは次のとおりです。

結果が 0.9971 になったとき、ニューラル ネットワークが AND 演算を実行する方法を学習し、追加の入力を無視したことに気付きました。このような結果により、私の自信は大きく高まりました。

それが機械学習のポイントです。コンピュータ プログラムにデータのセットを与えると、プログラムは内部パラメータを自動的に調整し、元のデータのエラーを減らしながら新しいデータに関する質問に答えられるようになります。

後で知ったのですが、この方法は勾配降下法とも呼ばれます。

人工知能に関する知識を補う

最初の AI プログラムを完成させた後、私は自信がつき、開発者として他に何ができるだろうかと考えました。

  • 回帰や分類などの教師あり学習の問題をいくつか解きました。

  • 私は限られたデータ セットを使用し、多重線形回帰を使用してどのチームが試合に勝つかを予測しようとしました (当時の予測は非常に不正確でしたが、本当にクールでした)。

  • AI が現在何ができるかを確認するために、Google Machine Learning Cloud でいくつかのデモを行いました (SaaS ツールとして、Google は非常に優れた成果を上げています)。

  • 私は、有名なベンチャーキャピタルファンドであるアンドリーセン・ホロウィッツがまとめた素晴らしいリソースである AI プレイブックに偶然出会いました。これは確かに開発者や起業家にとって最も便利なリソースの 1 つです。

  • 私はディープラーニングと機械学習に焦点を当てたSiraj Rawalの素晴らしいYouTubeチャンネルを見始めました。

  • Hacker Noon で、シリコンバレーのプレゼンターが Not Hotdog アプリをどのように構築したかについての素晴らしい記事を読みました。これは、私たちが実行できるディープラーニングの最もわかりやすい例の 1 つです。

  • 私はテスラの AI 責任者である Andrej Karpathy のブログを読み始めました。内容を理解するのは難しくて頭が痛くなります。しかし、もう少し時間をかけて遊んでみると、いくつかの概念が理解できるようになりました。

  • 私は勇気を出して、ディープラーニングのチュートリアルをそのまま(コピー&ペーストして)実行し、モデルをトレーニングしてローカルマシンでコードを実行しようとしました。ほとんどのモデルのトレーニングに長い時間がかかり、GPU もなかったため、結果は期待外れになることがほとんどでした。

徐々に、JavaScript から Python に切り替え、Windows マシンに Tensorflow をインストールしました。

このプロセスを通じて、私は受動的に内容を消化し、関連する知識を頭の中に構築して、将来実際の問題に遭遇したときにその知識を使用できるようにしました。

スティーブ・ジョブズがスタンフォード大学でのスピーチで言ったように、未来を見据えて点と点を結びつけることはできません。過去を振り返って点と点を結びつけることしかできません。

チャットボットを作る

映画『her』の大ファンとして、私もチャットボットを作りたいと思いました。私は挑戦し、Tensorflow を使用して 2 時間以内にこの移動を完了しました。そして、数日前の投稿で、私がそれをどのように実行したか、そしてそのビジネスケースについて概説しました。

幸いなことに、この記事は好評を博し、オンラインで話題になりました(ポータル、36Kr がまとめた記事)。結局のところ、私は技術ブログを書き始めたばかりなので、これは個人的には非常に良い現象です。この記事は私の AI 学習の旅におけるマイルストーンだと考えています。

おかげで、Twitter や LinkedIn でたくさんの友達ができて、AI 開発について深く議論したり、自分の欠点を指摘したり、問題に遭遇したときに手を貸したりできるようになりました。コンサルティングプロジェクトのオファーもいくつかいただきました。最も重要なことは、若い開発者や AI 初心者が、私がどのようにして AI を学び始めたのかを尋ね始めたことです。

それが私がこの記事を書いた理由です。より多くの人が私の学習プロセスからインスピレーションを得て、自分自身の学習プロセスを始められるように支援します。

最初は何事も難しいものですが、始めることがあらゆるプロセスの中で最も難しい部分です。

結論

これは決して簡単なことではありません。 Javascript で行き詰まり始めたとき、私はほぼ一夜にして Python に切り替え、Python でのコーディング方法を学びました。私のモデルが i7 マシンでトレーニングされず、何時間もトレーニングした後でも明らかに間違った結果 (クリケットの試合でチームが勝つ確率が 50/50 など) が返されるようになったので、イライラし始めました。 AI を学ぶことは、Web フレームワークを学ぶこととは異なります。

これは、計算の微視的レベルで何が起こっているかを理解し、出力に最も大きな影響を与える部分 (コードまたはデータ) を特定する必要があるスキルです。

同様に、AI は単なる 1 つの分野ではありません。これは、単純な回帰問題から、いつか私たちを殺すかもしれない危険なロボットまで、あらゆるものを表す包括的な用語です。あなたが追求する他の分野と同じように、コンピューター ビジョンや自然言語処理など、AI 内で得意になりたい分野を厳選したいと思うでしょう。

AI、フィンテック、暗号通貨のリーダーであるガウラヴ・シャルマ氏との会話の中で、彼は私にこう言いました。

人工知能の時代では、「賢い」ということの意味はまったく異なります。私たちには、より高度な、重要な、創造的な、あるいはより感情的な関与を必要とするその他の仕事を遂行できる人材が必要です。

この学習プロセスを開始するには、コンピューターが突然、物事のやり方を学習する様子をじっくりと観察する必要があります。忍耐と好奇心は、あなたが守るべき 2 つの重要な原則です。

これは重要な旅です。それは非常に疲れるし、非常に面倒だし、非常に時間がかかります。しかし、ありがたいことに、他の世界中を巡る旅と同じように、すべては簡単な一歩から始まります。

オリジナルリンク: https://hackernoon.com/how-i-started-with-learning-ai-in-the-last-2-months-251d19b23597

コンピレーションチームが制作。編集者:ハオ・ペンチェン

<<:  Angel: 新しい分散型機械学習システム

>>:  JavaScript による機械学習の例 10 選

ブログ    
ブログ    
ブログ    

推薦する

...

Apple: 画像モデルの事前トレーニングに言語モデルの自己回帰アプローチを使用する

1. 背景GPTなどの大規模モデルの登場後、言語モデルのTransformer +自己回帰モデリング...

2030 年までに AI と私たちの世界はどうなるでしょうか?

2030年までに、私たちの世界は変わるでしょう。人工知能 (AI) は、スマート シティ、モノのイ...

...

CUDA と TensorRT モデルの展開の最適化: 重要な考慮事項と実践的な戦略

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

ChatGPT Plusアカウント登録が停止されました!ネットユーザーは激怒、アカウントの売買やレンタルがネットワーク全体で高騰中

ちょうど今、サム・アルトマンがXで衝撃的なニュースを発表しました—— ChatGPT Plusアカウ...

AIシナリオの実装を加速させる2019年北京人工知能産業サミットフォーラムが北京で成功裏に開催されました

2019年6月28日、北京で2019年北京人工知能産業サミットフォーラムが開催されました。主催は工業...

「顔認識」時代の準備はできていますか?

[51CTO.comからのオリジナル記事] 近年、生体認証技術はますます成熟し、私たちの生活の中に...

畳み込みニューラル ネットワークの実践 - Keras を使用して猫を識別する

近年、ディープラーニングの分野における畳み込みニューラルネットワーク(CNN または ConvNet...

...

...

...

コードを書けるAIがオープンソース化! Codex よりも優れた C 言語を書き、12 のプログラミング言語をマスターする

Codex よりも優れた C 言語を記述できる AI コード生成モデルがオープンソース化されました。...

将来、人工知能ロボットに置き換えられる可能性のある10の仕事

専門家は、将来的には職業の約 70% が自動化されると予測しています。運転手、教師、ベビーシッター、...