様々な企業から「人工知能(AI)を使って業務改善を行いたい」「AIで新たなビジネスチャンスを探りたい」といったニーズが広がっているのは言うまでもありません。

私自身、「刻々と状況が変わっていくインフラのリソース監視にAIを活用することで、高度化と省力化が図れるのではないか?」などと考えることがあります。私と同じように「今の仕事にAIを活用できたら」と想像したことがある方は少なくないでしょう。

また、「AIについて知識を身に着けてステップアップしたい」と考えている方も多いと思います。

そこで今回は、個人でAI開発を目指す方向けに、AI開発に必要な知識とスキルをご紹介いたします。

人工知能とは?

AIのメリットとデメリットを徹底検証』などの過去記事と重複するところがありますが、人工知能(AI)について、確認しておきましょう。

本来、AIとは、「人間の代わりに知的な処理ができる計算機・システム」くらいの曖昧な概念です。しかし、昨今は、「開発プロセスとして、ディープラーニング(深層学習)を用いた人工知能システム」を特に指す言葉と化しています。

もっと極端だと、「人工知能=ディープラーニング」くらいの感覚で話をする方もいます。

しかし、現実にはディープラーニングではないアプローチで開発された人工知能も存在します。ディープラーニングという技術は2006年に生まれましたが、2006年以前から、金融機関のローン審査にAIが使われていました。みなさんの身近なところで言えば、スマホの入力予想も、アンテナが伸び縮みした二つ折りの携帯電話の時代からありますよね。

ただ、それらの従来型AIでは画像(手書き文字含む)や音声などの、”アナログなもの“を対象とすると、解析が難しいなどの課題がありました。

そうした、人工知能の壁をぶち破ったのがディープラーニングなのです。画像や音声などの分析を得意とする上に、さらに未来予測の精度の面で従来型AIを凌駕するスペックを秘めており、一躍、AIのメインストリームに躍り出たのです。「AI=ディープラーニング」という認識が広がったのも、ある意味、仕方がないところがあります。

そのような事情を勘案して、この記事も、基本的にはディープラーニング型AIの開発を目指す人向けの内容になっています。

人工知能を作るのに必要なスキルは

続いて、人工知能の開発を進めるのに必要なスキルについて、見ていきたいと思います。

①解析対象への造詣・理解

そもそも、“なにをどういう観点で解析するのか”をはっきりしていないと、良いAIが作れません。

例えば「良い画像か、悪い画像かを判断するAIを作りたい」と考えた場合、なにをもって、良い画像とするのか、という話が出てきます。素人の私でも、アングルや解像度、明るさなど複数の要素があることくらいは想像がつきます。

さらに言えば、不動産屋さんが物件紹介用に撮影する写真と、大学生がSNS映えを狙って撮影する写真では、良い画像・悪い画像の評価ポイントはまったく異なるはずです。

このように、正しいAIを作るためには、分析対象への正しい知識がないと難しいのです。

②論理的な思考

ロジカルシンキングとも呼ばれる論理的な思考もAI開発には非常に重要です。

とりあえず、AIを作ってみたものの、求めるような結果にならないこともあります。むしろ、最初は学習量が足りないなどの理由もあり、完成度は低くて当たり前です。徐々にブラッシュアップしていくのが基本的な開発プロセスになります。

試行錯誤しながら、AIをブラッシュアップする過程で「解析ロジックが不足していたのではないか?」や「解析対象への造詣・理解が足りず、観点の過不足があったのでは?」といった風に、忍耐力と“論理的に必要なことと不必要なことを判断するスキル”が絶対に不可欠となります。

③プログラミングスキル

実は、単純にディープラーニング型AIを作るだけであれば、プログラミングスキルゼロでも作れるサービスがあります。

その名もSonyが提供する『Neural Network Console』(以下、NNC)です。各ロジックを積み木のように重ねていくことで、ディープラーニング型AIが開発できるため、プログラミングスキルゼロでも開発可能、というのが謳い文句です。実際に、ほぼほぼマウス操作だけで、AIが開発できる優れものです。

ただ、作ったAIをなにかしらのアプリケーションに組み込んで使いたい、という場合や、あるいはすでにあるAIをAPIで呼び出して利用したいと考えている場合は、やはりプログラミングスキルが必要になります。

④数学の知識

文系の私がNNCを使い始めて直面したのは、“各ロジックの意味がわからない問題”でした。

もちろん、NNCにはちゃんとマニュアルはあります。しかし、書いている内容が「各ロジックの計算式」と簡単な説明だけで、「その計算式を持った、このロジックを使うと、なにが起きるの?」が理解できなかったのです。

すでに完成しているAIをAPIなどで呼び出して使うのであれば別ですが、自作でAIを作りたい、手を加えたい、と考えている場合は、数学の知識が間違いなく必要です。

人工知能を作るのに必要な素材

人工知能を作るのに必要なものもご紹介しておきましょう。といっても次の二つだけです。

①パソコン

まずは、パソコンが必要です。

自身のパソコン上ではAIを動かさず、APIを含めクラウドを利用する場合は、そこまで高性能なパソコンを用意する必要はありません。普段の開発作業で使っているパソコンで十分です。

しかし、自身のパソコン上でAIを動かすことを考えている場合は、普段のパソコンだと、能力不足の可能性があります。もちろん、AIの重さ・扱うデータの量などに左右されますが、少なくともIntel Core i5シリーズやそれ以上のクラスのCPUや、16GB以上の十分な容量のメモリを搭載したパソコンを用意しておくことが望ましいです。

また、ディープラーニング型AIはCPUよりもGPUで処理した方が効率が高くなることがあります。そのため、NNCなど、サービスやライブラリーによってはGPUで処理できる仕組みが用意されています。

そうしたGPU対応のサービス・ライブラリーを使う場合は、Geforce RTX 2070などのミドルハイクラス以上のGPUを搭載することで、快適性が高まります。

②データ

ディープラーニング型AIは「データで育つAI」です。いわば“AIを育てる肥料”であるデータの用意も極めて重要です。

GoogleがAI開発ライブラリーであるTensorflowを公開したのは、「AIに与えられるデータの質・量でGoogleに追随する敵がおらず、Google以上のAIを作れる企業・組織はどこにもいない、というGoogleの自信の表れだろう」という話もあるくらいです。

インターネットがあるから、データ集めも難しくないだろう、と考えている方もいらっしゃると思いますが、有用なデータを一定数集めに苦労するのが実情です。

人工知能を作るのに便利なライブラリー

Tensorflowに軽く触れましたが、ついでといっては何ですが、主な人工知能ライブラリーを簡単に列挙しておきます。

①Tensorflow

Googleが開発したライブラリーです。対応言語はC/C++、Python、Java、Go。対応OSはLinux、macOS、Windowsと一通り対応しています。

ちなみに、Android、iOS、Raspberry Pi向けのTensorFlow for Mobile と TensorFlow Liteもあります。

②PyTorch

PythonでAI開発を行う主な理由の一つがPyTorchの存在です。

Lua というスクリプト言語向けの人工知能開発ライブラリーであったTorchをPython向けに変更しただけでなく、カリフォルニア大学バークレー校で開発されたCaffeをベースにFacebookが進化させたのがCaffe2を取り込んでいます。

歴史ある二つの優良ライブラリーを統合したPyTorchは、もちろん優良AIライブラリーとして、高い人気を誇っています。

まとめ:目指せ“Kaggler(カグラー)”

『Kaggle』というサイトをご存知でしょうか?

一言で言ってしまうと、データサイエンティストやAIエンジニアのためのコンペサイトです。企業や行政機関が分析して欲しい資料を公開しているので、各データサイエンティストやAIエンジニアが分析を実施し、その結果を公表します。最終的に、もっとも優秀な結果を出した人に報酬が与えられる、というサービスになっています。

AI開発を行いたいに方にとっては、トップAIエンジニアの手法を知ることができる上に、本来であれば入手に苦労するデータを獲得できる貴重なサイトなので、ぜひ確認してください。

ちなみに、Kaggleの参加者をKagglerと言います。たとえクオリティは低くても、自身で行った分析結果を公表できるようになれれば、AI開発者としては一人前といえます。ぜひ、Kagglerになることを目指してください。

今すぐシェアしよう!
今すぐシェアしよう!