【AI入門!】人工知能は簡単に開発できる!?

こんにちは。ITエンジニア・webディレクター・webデザイナーなどのIT人材の自立・キャリアを支援するITプロパートナーズの木村です。

弊社では、独立精神旺盛な優秀なエンジニアの方々の独立・起業サポートや、フリーランス支援を行っています。

こちらでは、日々の現場でサポートさせていただいている中での、プロの目線で、エンジニアに役立つお話をしてまいります。

人工知能(AI)技術への注目度が近年高まっています。

かつて人工知能といえば、非常に高度で特殊な技術、というイメージを持っていた方が多数派でしたが、人工知能を利用したサービスがどんどんと登場していく中で、以前より身近なものになったと感じている方が増えています。

そして、自分も実際に人工知能をいじってみたい、開発したいと感じた方は多いかと思います。

そこで今回は、人工知能の開発についてご紹介いたします。

freelance

そもそも人工知能(AI)とは?

Close up portrait of angry woman with closed eyes and ears

「人工知能とは?」と聞かれたら、みなさんはどう答えるでしょうか?

多くの方が「人間のように考えることができるプログラム(が実装された機械)」と答えるのではないでしょうか。

この答えは間違えではありませんが、現在の人工知能に対する認識としては不十分です。

例えば、チェスや囲碁、将棋といった人間の知性が試される頭脳によるスポーツの世界では当時最強クラスと見なされたプロプレーヤーたちが、「ディープ・ブルー」、「AlphaGo」、「ponanza」といった人工知能に負けています。

これらのコンピューターの人工知能は確かに人間を凌駕したといえますが、あくまでチェスや囲碁や将棋など、「一芸に秀でた存在」でしかありません。

このように、ある機能にのみ特化した人工知能を<特化型人工知能>と呼びます。

その逆に360°すべての分野で人間の思考する人工知能のことを<汎用人工知能>と呼びます。

なお、現在のところ、このような汎用人工知能は存在していません。

日本でも国立情報学研究所が中心になって現在の人工知能で東大に合格できるかという観点から人工知能「東ロボくん」の開発を2011年から進めたものの、2016年に現在の人工知能では東大合格は不可能という結論に至り開発が打ち切られました。

人工知能の分類としては他に<強い人工知能><弱い人工知能>というものもあります。

特化型人工知能である「ディープ・ブルー」、「AlphaGo」、「ponanza」は、人間のような意思や信念を持った知的な存在というよりも、ある処理を効率よく処理するためのツールでしかありません。

もし「東ロボくん」が東大に合格することができる存在になっていたとしても、おそらくそれはこのような問いにはこう答えるというロジックの集合体でしかありません。

文字通り機械的に問いに答えていくだけで、「東大に合格したい」といった感情は持ち合わせてはいないでしょう。

このような意思なき人工知能を<弱い人工知能>と呼びます。

それに対して自らの意思を持つ本当の意味で、人間らしい知的存在といえる人工知能のことを<強い人工知能>と呼びます。

ちなみに学者の間(特に哲学の世界)ではSFの世界に出てくるような<強い人工知能>は生まれないという意見が根強いです。

敢えて、ここではその議論について触れませんが、気になる方は「中国語の部屋」で検索してみてください。

さて、これまでの話をまとめると「特定分野において、人間の知能以上の知的能力を発揮するプログラム(が実装された機械)」という理解が、今現在の人工知能の正しい認識と言えます。

また、一般的に人工知能開発といえば、それは特化型人工知能の開発と考えて間違いありません。

では、特化型人工知能を開発するのは難しいのでしょうか。

人工知能の開発は難しいのか?

Closeup portrait man scratching head, thinking deeply about something, looking up, isolated on grey wall background. Human facial expression, emotion, feeling, sign body language

人工知能について理解できたところで、いよいよ人工知能の開発について見ていきたいと思います。

人工知能の開発と聞くと、難しそうに感じる方が多いと思います。

実際、コアとなる人工知能のアルゴリズムから開発するのは非常に難易度が高いです。

人工知能のアルゴリズムには統計や線形代数や微積分などの高校・大学レベルの数学的な知識が使われており、ベテランITエンジニアといえども、アルゴリズムの理解は簡単ではありません。

しかし、人工知能に注目が集まっている中で、コアとなるアルゴリズムをパーツとしてまとめたライブラリが登場していたり、フレームワークがまとめられていたり、さらにはAPI(すでに完成された人工知能のパーツだと思ってください)が公開されていたりと、開発に必要な素材が簡単に入手できるようになりました。

プログラミングスキルがある方であれば、それらの素材を使うことで、人工知能を利用したシステムの開発することはそれほど苦労することはないでしょう。

今後、さらにそういった資材は充実していくと思われます。

ちなみに一部のシステム会社から企業向けに、人工知能を利用したERPパッケージも登場しており、現場で人工知能の開発(パッケージですので、導入環境への最適化といった方が相応しいかもしれませんが)に関わることになっても、まったくおかしくありません。

どのレベルで開発するのかによって変わりますが、環境が整備されてきたおかげで、以前よりも人工知能開発の難易度が下がっているのは確かです。

とは言っても、何から手をつけていいのかわからないという方が多いと思います。

以下では、人工知能開発を習得する方法をご紹介しようと思います。

人工知能の開発を習得するために必要なプロセス

Design Team Meeting Brainstorming Discussion Concept

人工知能の開発経験者は少ないと思います。

少なくとも、このページを見ている方は、人工知能の開発を行ったことがない方が中心だと思います。

そういった方が人工知能を開発する際は、いきなり開発作業に取り掛かることはせず、既存の人工知能を操作し、人工知能でなにができるのか、なにができないのか、どういうことを実現したいのか、イメージを明確にしてみましょう。

次に、既存のライブラリやAPIを使って簡易的な人工知能の開発を行ってみましょう。

ライブラリやAPIの種類については、後から改めてご紹介いたします。

既存のライブラリやAPIを使って人工知能を利用したシステムを作ることで、既存のツールでできることできないこと、そもそも人工知能に期待されている役割などが見えてくるはずです。

ここまで押さえられれば、人工知能開発者としての能力を一応は身につけられたと言えます。

ただ、本格的に人工知能の分野に進みたい方は、さらにもう一歩進んで、アルゴリズムを理解し、ライブラリやAPIのロジックを推測できるようになるべきでしょう。

余裕のある方は、自信でアルゴリズムを作っても良いです。

人工知能のアルゴリズムについては、大学などの研究施設で進められていることが多く、ネット配信講義や論文といった形で情報収集することが可能です。

ちなみに、Googleが自社社員向けに作った人工知能開発に関する研修メニューをベースに作成した「Learn with Google AI」という学習メニューがインターネット上に無料公開されています。

人工知能の理解度に応じた様々な講義や構築演習のようなものもあり、最低でも一回は目を通しておくべきでしょう。

次に、先ほど触れた、人工知能の代表的な開発ツールをご紹介します。

人工知能の開発ツールを紹介!

"engineering" - repair parts on graph paper background

ということで、人工知能のアルバムが理解できなくても人工知能を活用したシステムを開発できるAPIやライブラリをいくつかご紹介いたします。

Watson API

ハリウッドでも活躍する渡辺謙さんと対話するCMで、人工知能がビジネスを変える、という強烈なイメージを打ち出すことに成功したIBM WatsonAPIです。

人工知能の能力は学習に使われてきたデータ量に大きく左右されます。

そのため、比較的稼働期間が長く、多くの業界に使われているWatsonは、ビジネス用の人工知能として、おそらく最良の人工知能の一つです。

そのWatsonのためのAPIですが、IBM Cloud デベロッパーズ・ラウンジに登録すれば無料で利用可能できます。

Dialogflow

もともとはapi.ai という名前でしたが、Googleに開発チームが買収されたことで、名前が変わりました。

Dialogflowはスタンダードユーザーであれば完全無料でありながら、テキストベースはもちろん、Googleスピーカーのような音声でやり取りするチャットボットが作れる人工知能APIです。

フリー版は機能制限や提供停止となるリスク、それから、API共通のデメリットとして、内部のアルゴリズムがブラックボックス化されているため、良く悪くも画一的な人工知能になってしまう点が挙げられます。

しかし、実績のある人工知能を利用することで、完成度が高いシステムをローコストで作成できるメリットもあります。

アルゴリズムの理解がまだまだできないという方はDialogflowでの開発がおすすめになります。

ちなみにですが、Googleでは、Cloud AutoML Visionというサービスがアルファ段階(限られたユーザーにのみ限定公開して、能力テストをしている段階)です。

このCloud AutoML Visionは画像識別のための人工知能で、利用者が画像をアップロードしてタグ付けするだけで、どんどん学習していき、画像判定できるようになる、というものです。

なお、まったく同じコンセプトのCustom Vision Serviceという人工知能サービスが、Microsoftからも提供されており、こちらは公式サイトから登録すれば、使用に制限のあるプレビュー版を無料で利用することが可能です。

A3RT API

Dialogflowは多言語対応のAPIですが、海外で作られたものなので、日本語対応に不安が残ると感じる方も少なからずいらっしゃるかと思います。

そこで、もう一つ、日本の企業であるリクルートが開発している人工知能A3RTAPIについてもご紹介いたします。

6種類のAPIが公開されており、チャットボット用のAPIとしてはTalk APIというものが用意されています。

他にもマーケティングに使えそうなレコメンドリストを作成するLisiting APIというものもあり、人工知能の可能性についての理解が深まるAPI群となっています。

Tensorflow

Googleが公開している人工知能のためのオープンソースライブラリです。

オープンソースでありながら、C言語、C++PythonJavaGoといった主要言語に対応している使い勝手の良さと、現在の人工知能開発のキーとなるディープラーニングに対応している点で、高い注目を集めたライブラリの一つです。

このライブラリを使いこなせるかどうかが、人工知能開発者として成功できるかどうかの分岐点のように思います。

Meya.ai

TwitterなどのBotを作るインターネット上のサービスです。

まったくソースコードを書く必要がないというわけではりませんが、指示通りに操作するだけで、「ある文字列のメッセージに対して決まった返事をする」といった特定の機能を持ったBotが作れてしまします。

そのため、ソースコードを書けない方でも、動くものが作れます。

逆にいろいろと機能を足したい方はNode.jsPythonでソースコードを書くことも可能となっています。

まとめ

shutterstock_353473379

今回は人工知能の現状と人工知能を利用したシステムの開発に使われるAPIやライブラリについてご紹介いたしました。

まだまだ人工知能は発展途上にあり、今後、より優れたAPIやライブラリが登場するかもしれません。

今後、人工知能分野でITエンジニアとして活躍したいと考えている方は、しっかりとアンテナを張っておくことが重要です。

人工知能に興味のある方は、現場で実際にAIエンジニアとして働くことで、感度を高め、新しい知識を吸収することも視野に入れるといいかもしれませんね。

ITプロパートナーズへの詳細はこちら

bn04

もし、今あなたが

・フリーランスになるか悩んでる
・自分に合った案件があるのか不安
・そもそも何から始めればいいのか分からない

などお困りであれば、ぜひ弊社ITプロパートナーズのサポート内容を確認してみてください!

登録後、専属エージェントに無料相談もできますよ!

※週2日 / 30万〜のフリーランス案件を紹介中です
※ご経験やご希望によっては案件を紹介できない場合がございますのでご了承ください。


よく見られてる関連案件

b80c977483d024c14549510e194361fe 2_anken 3_anken
The following two tabs change content below.
株式会社ITプロパートナーズ

株式会社ITプロパートナーズ

「IT起業家・フリーランスの自立を支える」というビジョンの元、「週2日からの業務委託案件を紹介する、ITプロパートナーズ」を運営。 ■BestVenture100に創業初年度で選出 ■取材記事:自立する覚悟が、働き方を変える
株式会社ITプロパートナーズ

最新記事 by 株式会社ITプロパートナーズ (全て見る)

freelance