[翻訳]過去2か月間にAIをスキップすることを学んだ方法

画像



今日、誰もがいつも忙しいです。 私生活と職業環境の両方で多くのことが起こっています。 一方、人工知能などのトピックは急速に勢いを増しており、今後2年間でスキルが絶望的に​​なってしまうという不快な考えが出始めています。



スタートアップZeadingを葬った後 、私はそれを特に鋭く感じました。 何か非常に重要なものを見失っているように。



私がフルスタック開発者であるという事実はもはやクールではありません。 AIコンピテンシーがなければ、フルスタックは「フル」ではなくなります。



行動する時です。 そのため、開発、マーケティング、起業家精神の分野でのスキルを現代の要件に合わせて持ち込むことにし、新しいものに完全に開放することにしました。



有名なベンチャーキャピタリストであり、AIおよび金融技術の分野のリーダーであるSpiros Margarisは、私に状況の彼のビジョンを非常に鮮やかに表現しました。

「スタートアップや企業が、あらゆる場所でAIと機械学習の分野で最新のアルゴリズムに依存している場合、すぐには十分ではありません。 AIはもはや競争上の優位性ではなく、標準になります。 誰もが電気の使用について自慢しているのを聞いたことはありません。」


初めてのニューラルネットワークを作成する



画像



CourseraでAndrew Ngコースにサインアップするように勧められまし 。 これは何かから始めるのに最適な場所ですが、長い間主題に集中するのは難しいと感じました。 コースが悪いとかそういうことではなく、原則として、講義に注意を払うのは常に困難でした。 私の個人的な教授法は常に実践に基づいていました。「くそっ、なぜ、あなた自身のニューラルネットワークを作ってみませんか?」



すぐにニューラルネットワークを作成しようとするのではなく、最初にもう少し学ぶことにしました。 用語を習得するために、この分野の主要な概念を理解しようとしました。



以前はJavascriptとNodejsに没頭していましたが、私はまだそれらを保持していました。 そこで、「nn」と呼ばれる単純なニューラルネットワークモジュールを見つけ、それを使用してプリミティブ入力を使用したANDゲートを実装しました。 触発されて 、タスクを設定しました。3つの導入X、Y、およびZの場合、出力はX AND Yです。



var nn = require('nn') var opts = { layers: [ 4 ], iterations: 300000, errorThresh: 0.0000005, activation: 'logistic', learningRate: 0.4, momentum: 0.5, log: 100 } var net = nn(opts) net.train([ { input: [ 0,0,1 ], output: [ 0 ] }, { input: [ 0,1,1 ], output: [ 0 ] }, { input: [ 1,0,1 ], output: [ 0 ] }, { input: [ 0,1,0 ], output: [ 0 ] }, { input: [ 1,0,0 ], output: [ 0 ] }, { input: [ 1,1,1 ], output: [ 1 ] }, { input: [ 0,0,0 ], output: [ 0 ] } ]) // send it a new input to see its trained output var output = net.send([ 1,1,0]) console.log(output); //0.9971279763719718
      
      





なんて幸​​せ!



私の意見では、これは何よりも私の成功への自信に影響を与えました。 出力が0.9971であることが判明したとき、ネットワークがAND演算を学習し、追加の入力データを自分で無視していることに気付きました。



これが機械学習の本質です。 コンピュータープログラムにデータを与え、新しいデータに答えられるように内部パラメーターに合わせて調整し、元のデータと比較してエラーの可能性を減らします。

後で発見したように、この方法は勾配降下法と呼ばれます。



画像



AIに精神的に調整



画像



最初のAIプログラムを作成してから自分自身を信じて、開発者として機械学習で他に何ができるかを知りたいと思いました。





徐々に、Javascriptの使用からPythonに切り替え、 TensorflowをWindowsコンピューターにインストールしました。



一般に、このすべての活動は、特定の問題を解決するときが来たときに、私が一般的なスキームを思いつくための材料の受動的な消費から成りました。



スティーブ・ジョブズが言ったように、「振り返るだけでドットをつなげることができます。」



チャットボットトレインに立ち寄る時間がある



画像



映画「Her」(「Her」)の大ファンであった私は、常にチャットボットを作りたかったのです。 試した後、Tensorflowを使用して2〜3時間で作成できました。 数日前、私の記事の1つでこの経験とその商業的展望について説明しました。



記事が「撃たれ」、 TechInAsiaCodeMentor、およびKDNuggetsで紹介されたことがたまたまありました 。 個人的には、これは荘厳な出来事でした。なぜなら、 技術的なトピックについてブログを書き始めました。 この記事は、AIへの道の私にとってのガイドになったと思います。



TwitterとLinkedinで多くの人と友達になりました。彼らとAIの開発について「広範かつ詳細に」話し合うことができ、何かに引っかかったら助けてくれます。 コンサルティングプロジェクトに参加するためのいくつかの提案がなされました。そして、最も嬉しいことに、AIの分野の若い開発者と新規参入者が、この方向でどのように検索を開始したかという質問を私に連絡し始めました。 これが、この記事を書く理由でした-この問題に興味のある人々に、このトピックのさらなる独立した研究を開始し、やる気を起こさせるように促します。



移動を開始することは、旅の中で最も重要な(最も難しい)部分です。



塩こしょう



画像



簡単ではありませんでした。 Javascriptにこだわるようになったとき、Pythonに没頭し、ほぼ一晩でPythonでこれらのタスクを解析する方法を見つけました。 私のモデルが私のi7マシンで起動しなかったとき、または何時間ものトレーニングの後、チームがクリケットの試合に勝つ50%の確率のような不明瞭な結果を生み出したとき、それは私を悩ませました。 AIの学習は、Webフレームワークの学習とは異なります。



このスキルを使用するには、計算の微視的なレベルで何が起こっているのか、コードとデータの両方の結果に対する責任の程度を判断する必要があります。



さらに、AIは一方的な現象ではありません。 これは、単純な回帰問題の解決から、いつか私たちを殺してしまうキラーロボットの作成まで、幅広い概念です。 調査する他の分野と同様に、マシンビジョンや自然言語処理、あるいは神の禁じられた世界支配など、AIの最も好きな側面を選択して専門化することができます。



AI、金融テクノロジー、暗号化の名誉リーダーであるGaurav Sharmaは、このテーマに関する彼の考えを私と共有しました。

「人工知能の時代では、スマートであるということは、まったく異なることを意味します。 批判的、創造的に考え、強い道徳的関与を必要とする仕事をすることができる人が必要です。」


コンピュータが自分で物事を行うことを突然学ぶことができることに感心する必要があります。 忍耐と賞賛は、遵守する必要がある2つの基本原則です。



これは長く、長い道のりです。 非常に疲れ、非常に迷惑で、時間の奈落を吸収します。



しかし、最初の一歩を踏み出せば、どんな旅もすでに始まっていることを勇気づけます。






EDISON Softwareは 、たとえば、 印刷製品の生産と販売の 会計、プールへの訪問の会計など、企業向けの会計システムの開発に専門的に取り組んでいます



続きを読む:






All Articles