連載
» 2019年06月18日 05時00分 公開

@IT/Deep Insiderの歩き方:「AI・機械学習の勉強をこれから始めたい」という人のためのAI技術情報フォーラムです!

AI技術者を応援する新フォーラム、Deep Insiderが@ITに登場した。その背景やメディアのコンセプト、編集方針などをご紹介するとともに、スキルレベル別のAI・機械学習の学習方法と、それらのレベルに応じた本フォーラムのお勧めコンテンツ、準備中の記事企画についてご紹介しよう。

[一色政彦,デジタルアドバンテージ]
「@IT/Deep Insiderの歩き方」のインデックス

連載目次

 2019年6月18日(火)、機械学習エンジニアを目指す人〜初中級者のためのAI(人工知能)技術情報フォーラム「@IT/Deep Insider」が新規オープンしました*1。私、一色政彦は、この新フォーラムの編集長を務めさせていただきます。主にエンジニアに向けて、Python言語連載から、ニュースやイベントレポート、技術用語解説、技術解説記事、技術事例など、AI・機械学習・ディープラーニングに関するさまざまな情報を幅広く発信していきます。

*1 「Deep Insider」って聞いたことあるぞ、という方もいるかもしれません。本フォーラムは「deepinsider.jp」というサイトから移転してリニューアルオープンしたものでもあります。deepinsider.jpの全記事は、2019年11月8日をもって本フォーラムに完全に移転しました。


これからはAIの時代。自分もAI・機械学習の技術を身につけたいけど、どこから手をつけたいいのか……。

最近のコンピュータ関係のニュースはAI関連のものばかり。でもニュースでは、技術の話題とビジネスの話題がごっちゃまぜ。ビジネスはともかく、エンジニアとして、そのニュースの技術的な側面をきちんと切り分けて捉えられるようにしたい。

AIの技術情報は次々と出てくるけれど、対象もレベルもまちまちで、自分に適したものを見分けるのも大変。自分のレベルに合った情報がまとまっていて、段階的にステップアップできるような場所はないものか……。

 これらを読んで、「あっ! それは私のことだ」というエンジニアや学生の方、その他、AIに興味・関心があって、これから本格的に学びたいと考えている人なら誰でも、本フォーラムの読者です。以下のSNSなどを通じて新着記事情報などを発信しているので、ぜひこれを機会に講読/フォロー/いいね!して、Deep Insiderの活動をウォッチしてください!

図1 Twitterアカウント(@DeepInsiderJP)のページ 図1 Twitterアカウント(@DeepInsiderJP)のページ

Deep Insiderフォーラムトップの内容

 新着記事をチェックするだけでなく、Deep Insiderフォーラムの既存記事の全貌を把握して、必要な過去記事も読みたいという人は、

を活用しましょう。フォーラムトップはこんな感じです(図2)。

図2 Deep Insiderフォーラムトップ - @IT 図2 Deep Insiderフォーラムトップ - @IT

 フォーラムトップの上部では、[Deep Insider編集部からのお知らせ](例えばアンケート調査の実施など)や、[編集部イチオシの記事]など、編集部としてその時々に注目してほしい情報を表示します。まずはここに注目してください。

 フォーラムトップの中央では、[TOP STORIES(新着記事)]や[お勧め連載]、[過去記事]、[過去記事一覧へのリンク]を掲載します。フォーラム全体から既存記事を探すには、ここを使ってください。特に、「手っ取り早く既存記事を一望にしたい」というなら、[全記事一覧]を使うとよいでしょう。ここには、Deep Insiderでこれまでに公開した全記事リストが表示されます。

 フォーラムトップの左部では、[フォーラム内の主要コンテンツへのリンク]や[Deep Insiderが提供する各SNSへのリンク]、[AI&IoT関連記事の新着情報]などがコンパクトに掲載されます。普段使いのリンクや関連記事チェックなどにご活用ください。

 このようにフォーラムトップは、Deep Insiderフォーラム内を効率的に歩くための道しるべ(=知りたい情報にアクセスするためのナビゲーション)となる機能で構成されています。

なぜいまDeep Insiderなのか?

 2019年3月、日本政府は、「AIを各専門分野で応用できる人材を、2025年には年間25万人育成することを目指す」という「AI戦略」をぶち上げました。

 AI技術が今後のモノづくり、サービス開発で要になってくるのは間違いないでしょうから、資源の少ない日本が、AI技術開発で先行する米中に取り残されることなく、技術先進国の一つとしての地位を確保するには、政府の言うように、日本人AI技術者をたくさん育成していかなければならないのは間違いありません。日本政府もそれに気づき、政策として後押ししようというのは心強いかぎりです。

 これまでも、日本政府が国を挙げてコンピュータ技術開発を支援しようという取り組みは幾つもありました。しかし残念ながらそのいずれも、使ったお金に見合うような成果を得るに至らなかった気がします(シグマ計画とか、第五世代コンピュータとか……、この話をしだすと長くなるので、興味のある方はお近くの年配エンジニアの方に聞いてみてください)。

 今回の政府の後押しが失敗すると決めつけているわけではないのですが、これまでの経験からして、永田町や霞が関の方々と、エンジニアの人たちが方向を同じにして、ともに共通のゴールを目指すというのは簡単ではないかもしれませんので、そっち方面はひとまず置いておいて、AI技術を学びたいエンジニアに頼りにしてもらえて、実際役立つ技術情報サイトを、読者と同じ技術者視点で作って行こう、というのがDeep Insider設立の目的です。

 先に述べたとおり、AI技術に対する感心の高まりから、関連する情報も増えてきているものの、対象やレベルはまちまちで、特に初学者にとっては、それらを自分のレベルに照らして正しく位置づけることが困難で、逆に学びの妨げになっているのではないかと感じています。そこでこのDeep Insiderでは、AI・機械学習の開発/使用レベルを次のように分類して、それぞれに応じた記事が簡単に分かるように配慮していきます。

Deep Insiderが考える開発・使用レベル

 AI・機械学習の開発/使用には幾つかのレベルがあり、その時々の自分のレベルに応じて必要な技術・スキルを学んでいけばよいと思います。レベルの目安を図3に示します。これはあくまで、Deep Insiderが考えるレベル感であり、一般的な解釈とは異なる部分があるかもしれませんのでご注意ください。

図3 AI・機械学習の開発/使用レベル 図3 AI・機械学習の開発/使用レベル

 以下では、特に初学者にとって重要なレベル1〜3を中心に、それぞれ簡単に説明するとともに、各レベルに応じたDeep Insiderフォーラムの既存コンテンツや、今後公開予定の記事をご紹介します。

[レベル1]クラウドのAIサービス/APIを使う(AIカスタマイズ機能も利用できる)

 Microsoft Azure、AWS(Amazon Web Services)、GCP(Google Cloud Platform)といった主要クラウドプラットフォームでは、学習済みのAIモデルをAPIで簡単に利用できるようになっています。代表的なAIサービス/APIには以下のものがあります。

 これらを使うのに、AI・機械学習の詳細な知識はほとんど要りません。ITエンジニアであれば、ほとんどの人が簡単に使いこなせるでしょう。これらのスキルをマスターしたいなら、本当に難しくないので、実際に上記のリンク先を開いて試してみてください。図4は実際にCognitive ServicesのComputer Vision APIを利用した画像処理のデモページを開いて試してみた例です。画像を与えると、JSON形式で認識結果が返却されています。

図4 Cognitive ServicesのComputer Vision APIを利用した画像処理のデモ(スクリーンキャプチャ) 図4 Cognitive ServicesのComputer Vision APIを利用した画像処理のデモ(スクリーンキャプチャ)

 なお、AIのサービス/APIだからといって非力というわけではありません。むしろよく検証され確実に成果の出る優秀なAIモデルだけが、サービス化・API化されており、非常に強力なツールであると言えます。

 しかも、Cognitive ServicesのCustom機能や、Google Cloud AIのCloud AutoMLは、そういった優秀なAIモデルを、簡単かつ高速にカスタマイズできる機能を提供しています。例えば写真画像からラーメンかチャーハンかを識別するAIモデルを作成したい場合、たった数十枚のラーメンとチャーハンの写真をデータとして与えて追加で学習させるだけで(これを転移学習と呼びます)、独自で優秀なAIモデルを作成できます。

 こういったレベル1の技術・スキルを対象にした記事は、Deep Insiderフォーラムで今後展開する予定です。

[レベル2]学習済みのAIモデルを使う(転移学習での別領域適用も)

Python関連を学ぶ

 次のレベル2では、サービス化されたAPIを使うのではなく、学習済みのAIモデルを利用して、独自のプログラムを開発します。これには、まずはPython言語を習得し、NumPyやPandasといったPythonライブラリを使いこなす必要があります。といっても、Python言語やライブラリ利用は、慣れてしまえばそれほど難しくありませんので、前掲の図3の左端に示した「ITエンジニア」レベルでも比較的に楽に習得できるでしょう。

 Deep Insiderフォーラムでは、『Python入門』という初心者向けで網羅性のある入門連載を展開しています。もちろん初心者だけでなく、中・上級者が「あれ、どう書くんだっけ?」というようなときに、レファレンスとして参照してもらいやすいような目次も準備する予定ですのでご期待ください。

図5 『Python入門』連載の目次(もっと使いやすくしていきます!) 図5 『Python入門』連載の目次(もっと使いやすくしていきます!)

人工知能と機械学習の基本用語を学ぶ

 Python関連が終わったら、いよいよ機械学習エンジニアのスキルが必要となってきます。まずは、AI・機械学習の知識が必要です。「推論」「ニューラルネットワーク」「バイアス」「ハイパーパラメーター」「Dropout」など、機械学習の専門用語はたくさんあります。まずはそういった基本的な専門用語を理解する必要があるでしょう。

 これに対応するためDeep Insiderフォーラムでは、『AI・機械学習の基本概念』と『AI・機械学習の用語辞典』という2つの連載枠を用意し、記事を公開していきます。しばらくの間、対応できる語彙(ごい)数は少ないですが、1年ほどかけて少しずつ増やしていく予定です。

図6 『AI・機械学習の基本概念』連載の目次(増やしていきます!) 図6 『AI・機械学習の基本概念』連載の目次(増やしていきます!)

図7 『AI・機械学習の用語辞典』連載の目次(秋ごろから用語を拡充します!) 図7 『AI・機械学習の用語辞典』連載の目次(秋ごろから用語を拡充します!)

機械学習ライブラリを学ぶ

 基本用語を一通り学んだら、TensorFlow/KerasやPyTorch、Chainer、scikit-learnといった機械学習ライブラリのコードを理解します。ライブラリを使った機械学習のコードは、数十行〜数百行程度で、例えばWebアプリ開発などの経験があれば非常に短いと分かるでしょう。ITエンジニアにとって、機械学習のコードを読み解き実行することは、それほど難しいことではないと思います。例えば図8は、TensorFlow/Kerasのチュートリアルに示されている機械学習のコードです。こんな短いコードでも、取りあえず機械学習ができてしまうのです(ここではコードの意味は説明しません。もちろん、このコードの意味が分かるようになるための記事は今後公開しますのでご安心ください)。

図8 TensorFlow/Kerasで機械学習をする短いコード 図8 TensorFlow/Kerasで機械学習をする短いコード

 初心者のうちは、取りあえずコードを実行してみて感動を味わい、学ぶモチベーションを高めることが重要です。機械学習では、Jupyter NotebookやGoogle Colaboratoryといったブラウザ内で実行できるWebページ型のPython実行環境がよく使われます。まずはそういった環境で、コードを上から順番に実行していくだけでもよいでしょう。

 実際にそれをするには、各クラウドプラットフォームなどが主催する機械学習(ML:Machine Learning)のハンズオンがお勧めです。例えばGoogleでは、「ML Study Jams」という無償の自習プログラムや、「ML Summit」という無償のカンファレンス(コードラボと呼ばれるハンズオンがある場合もある)が開催されています。自習プログラムやハンズオンでは、上から順番にコードを実行していくだけの場合がほとんどで、大した難しさもなく気楽に「機械学習がどのようなものか」を学べます。

 Deep Insiderフォーラムでは、『TensorFlow入門』という、機械学習ライブラリの一つ、「TensorFlow」未経験者に向けた入門連載があります。この連載は、機械学習の初心者が、記事を読んでコードを打ち込みながら、機械学習を体験学習できるコンテンツで、お勧めです*2。今後も、こういった体験学習できる入門コンテンツは、継続的に作り続け、可能であれば記事内容も最新情報に更新していく予定です。

*2 この『TensorFlow入門』は、冒頭の脚注*1で示したdeepinsider.jp上で約1年前に公開し、@IT上に移転した連載です。ライブラリの機能が月単位ぐらいスピードで進化している状況なので、既に1年がたったこのコンテンツは手順などが古くなってきています。


図9 『TensorFlow入門』連載の目次(他の連載記事も増やしていきます!) 図9 『TensorFlow入門』連載の目次(他の連載記事も増やしていきます!)

学習済みのAIモデルを使う

 ライブラリの使い方を理解し、機械学習の基礎を体験したら、学習済みのAIモデルなどを使って何か作ってみるのがよいでしょう。そこからやりたいことを広げることで、機械学習を学ぶことに、より拍車がかかるからです。

 最近では、機械学習の教育・学習ツールとして、AIロボットカーNVIDIA JetBotAWS DeepRacerなど)が盛り上がってきています。例えばJetBotで対象物を機械学習して回避するようにするには、JetBot Wikiで提供されたサンプルコード(図10はその例)を手順どおりに実行して、学習済みAIモデルを使ったり、自分で学習させたりするだけです。よりうまくAI自動運転を実現しようとすると、自分なりにコード(例えば数値など)を変えて学習し直したりしなければなりませんが、そうすることで機械学習の意味や挙動を効率的に学べます。

図10 JetBotの機械学習のコードを実行している例(JetBot Wikiから引用) 図10 JetBotの機械学習のコードを実行している例(JetBot Wikiから引用)

 Deep Insiderフォーラムでは、JetBotやDeepRacerを使った機械学習の勉強方法についても、近いうちに記事化していく予定です。ご期待ください。

 また、学習済みのAIモデルを転移学習して別の領域に適用することも、このレベルで学んでよいことの一つでしょう。これも機会があれば取り上げたいテーマです。

[レベル3]一般的なAIモデルを作る(ネットワークを自分で作る)

 次のレベル3は、機械学習エンジニアと名乗ってもよいレベルを想定しています。

機械学習やニューラルネットワークを基礎から学ぶ

 機械学習エンジニアであれば、当然、機械学習の基礎知識・用語は確実に理解し覚えておく必要があります。理解していない部分があると、例えばディープラーニングの全体像の把握が難しくなります。ニューラルネットワークから、ディープラーニングのディープニューラルネットワークまでを理解して初めて、Kerasなどによる機械学習のコードを自分一人で書けるようになります。このレベル3では機械学習やニューラルネットワークを丁寧に学び、基礎を固めることに集中しましょう。

 Deep Insiderフォーラムでは、ニューラルネットワークPlayground(旧称:TensorFlow Playground、図11)などを使った『Playgroundで学ぶディープラーニング入門』連載を計画しています。

図11 ニューラルネットワークPlayground 図11 ニューラルネットワークPlayground

基礎から一歩抜け出す

 その次に、CNNやRNNといった基礎的なAIモデルを卒業して、より最近で現実的なAIモデルの活用法を学ぶとよいでしょう。

 Deep Insiderフォーラムでは、実際の事例を機械学習エンジニア目線で説明した『機械学習の参考事例』記事を不定期に発信していきます。

図12 『機械学習の参考事例』連載の目次(不定期で記事を増やしていきます!) 図12 『機械学習の参考事例』連載の目次(不定期で記事を増やしていきます!)

できるだけ多くの課題を解きまくる

 あとは、さまざまな機械学習の課題にチャレンジして、技術とスキルを磨き続けることです。といっても、課題を見つけるのが大変だったり、そもそもデータ集めが難しかったりします。そんな場合は、コンペティション/コンテストに参加するのも良い方法で、特にKaggleがお勧めです(図13)。まずはSlackコミュニティー「kaggler-ja」に入って、Kaggle初心者同士で情報交換をしましょう。

図13 Kaggleのコンペティションの一覧 図13 Kaggleのコンペティションの一覧

 Deep Insiderフォーラムでは、今後、Kaggleに関する記事も発信していきたいと考えています。

データサイエンティストになる必要はない

 残りの、

  • [レベル4]最先端のAIモデルを使う(論文などを読んで作る)
  • [レベル5]完全に独自のAIモデルを作る(理論を作って論文を書く)

は、どちらかというとデータサイエンティストの領域です。サイエンティスト(科学者)という言葉どおり、論文収集サイト「arXiv(アーカイブ)」で機械学習の論文を探して、発見した適切な論文を読み、自分のプロジェクトに適用したり、自分の独自理論を作って論文を書いて発表したりします。まだ誰も踏み込んだことがないような領域にAI技術を適用する場合に求められるスキルレベルです。

 ITエンジニアから始めてこの領域にまで踏み込めるに越したことはありませんが、このレベルはDeep Insiderが想定する読者レベルを超えていますので、当フォーラムでは、基本的に[レベル4]や[レベル5]の情報は提供しない予定です。

@IT/Deep Insiderをよろしくお願いします!

 以上、新フォーラム設立の背景から、「AI・機械学習の技術・スキルをどのように学ぶべきか」という点について5段階のレベルを提示しました。Deep Insiderフォーラムではそのうちの3段階のレベルで情報発信を行うことを示し、「現在、どのようなお勧めコンテンツを準備中か」を紹介しました。本サイトの目指している方向性に共感していただけたのであれば、冒頭にもあった、

をぜひぜひお願いします。今後ともよろしくお願い申し上げます。

 また、「新しく出来たフォーラムで記事を書いてみたい」という方がもしいらっしゃいましたら、大歓迎ですので、こちらのお問い合わせフォームよりご連絡ください。

 最後に、本フォーラムの会話型の入門記事では、図14の「マナブ(01号)くん」と「深井藍(ふかい・あい) 博士」というDeep Insiderイメージキャラクタが使われていることがありますので、以後お見知りおきください。Deep Insider編集部についてはこちらを参照してください。

図14 イメージキャラクタと共に学ぼう 図14 イメージキャラクタと共に学ぼう

「@IT/Deep Insiderの歩き方」のインデックス

@IT/Deep Insiderの歩き方

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。