AIサービス開発の基礎【そもそもAIとは何なのか】
- 小山内 美悠
- 記事制作日2021年4月16日
- 更新日2021年4月16日
- 6いいね!
はじめに
こんにちは!小山内(おさない)です。
AIを使ったシステム受託開発会社を経営しております!
(AIにシステムを開発させてるわけじゃなくて、サービスやシステムの中に機械学習をいう手法を組み込んでいる、
という意味です)
私は仕事でそれなりの数の機械学習/AI案件をこなしてきたので、
そちらで得た一般的な知見をブログに残しておきたいと思います。
今回はもう超超初心者の方向けにそもそも【AI】って何者なんじゃいってところを解説していきます!
次の時代はビッグデータだのAIだのブロックチェーンだのDXだのよくわかんねええええええええ
- 何かうちの会社の偉い人も『DXでAIでビジネス革新を!!』とかほざいてるし知っておかないとまずそう…
- なんかAIを導入するプロジェクト任されそう…
って人もとりあえずこの記事読んでおけばひとまずOK!!ざっくりAIについて知っておきましょう!
AIとは
本来AIというのは人工知能のことで、文字通り人工的に作られた知能を持つロボット(の知能を司る部分)のことです。
ドラえもんや鉄腕アトム(古いか?)のようなロボットを想像してもらえればいいかと思います。
しかし、2021年現在、ビジネス書やニュースなどのメディアで扱われる『AI』という単語はそれとは違います。
巷で言われているAIは『機械学習という手法を使ったプログラム』を指しています。
特に『深層学習(ディープラーニング)』と呼ばれる手法のことを指す場合もあります。
深層学習が一体どのようなものなのか、ということについては実際にコードを書くエンジニア以外は特に知らずとも大丈夫です。
従来、コンピュータには難しいと言われてきた、自然言語理解や画像認識などの処理を高精度で可能にした手法です。
これによってコンピュータに可能な処理の幅が一気に広がりました!
例えばAppleのiPhoneに搭載されているFace IDと呼ばれる顔認証の仕組みはディープラーニングによるものです。
他には声でコンピュータに命令できるスマートスピーカーが音声を認識する仕組みにもディープラーニングが使われています。
深層学習が登場によって画像、映像、音声、言語をコンピュータがかなり理解できるようになったと思っていただいてOKです!
ただし、人間のように自分で考えて行動するようなAIが生まれるのはまだまだ先になりそうです。
現在のAIは画像認識や音声認識などに特化した、『特化型AI』と呼ばれるもので、様々なタスクを一つのプログラムでこなす、というのは難しいのです。
しかし、それでも特化型AIの登場によって人々の生活は確実に豊かになりました。
AIに何ができるのか
AIに可能なことはたくさんあるのですが、代表的なものをいくつか紹介します。
画像認識
画像をプログラムに入力し、その画像に何が写っているのかを判定するのが画像認識ですが、
その出力方法によっていくつか違いがあります。
画像分類
あらかじめ決められた候補の中から、入力画像に写っているものを選び出すものです。
ILSVRCと呼ばれる世界規模の有名な画像認識のコンペがありました。(2017年に終了)
そこで使われている画像のデータは動物や乗り物など1000種類の画像100万枚以上を使って各出場者が作ったプログラムの精度を競い合います。
画像分類は画像認識としてはシンプルな部類のタスクです。
物体検出
画像中に写っている物体の候補とその物体が収まる枠線を出力します。
上の画像が物体検出の出力例です。枠線の色が物体の候補(犬、自転車、車)を表しています。
枠線が出力されるので物体のおおよその位置までわかります。
ただし、画像分類より物体検出の方がタスクとしては難易度が高いです。
セマンティックセグメンテーション
画像中に写っている物体の候補とその領域を出力します。
上半分の画像が入力画像で、下半分が出力結果です。
物体検出の場合は四角い枠線までしかわかりませんでしたが、セグメンテーションの場合は、輪郭がハッキリとわかります。
物体検出だと細かい輪郭がわからないので、自動運転などでつかわれるのはこちらのセマンティックセグメンテーションです。
これであれば対向車や歩行者のかなり正確な位置がわかります。
自然言語処理
人間は高度な言語理解能力を持っています。
我々が扱う日本語や英語のような言語は特に自然言語と呼ばれます。
(自然言語と対立する概念として形式言語と呼ばれる言語があります。例えばプログラミング言語は形式言語のひとつで、自然言語とは違う性質を持っています)
普段何気なく会話したり、文章を読んだりしていますが、自然言語で記述される文章は曖昧性が多く、解釈の仕方に多様性が生じます。
(SNSとか見てたらわかりますが、同じ文章読んでも感想や反応、捉え方は十人十色です。)
自然言語の理解には文章そのものだけでなく膨大なコンテキストを同時に処理する必要があります。
Aという文章はBという状況であればCと解釈するのが自然だろうというのは人間が日々行っていることです。
しかし、これはコンピュータにとっては非常に難しいタスクなのです。
こちらも画像認識同様、入出力の形式によっていくつも種類があります。
代表的なものをいくつかご紹介させていただきます。
文書分類
画像分類の自然言語版ともいうべきタスクです。
文章があらかじめ決められたカテゴリのどれに該当するのかを判定する、というものです。
例えばニュースサイトの記事のカテゴリの自動分類などが挙げられます。
他にもスパムメールの自動フィルタリングなんかも文書分類にあたります。
具体例に挙げたとおりみなさんの目にする様々な場所ですでに使われています。
機械翻訳
もはや当たり前すぎてAIと呼んでいいのかわかりませんが、日英の自動翻訳なんかにもAIが使われています。
英語の文書を読むだけであれば今は時代はGoogle翻訳さえあればなんとかなりますよね?
便利な時代になりました。
機械翻訳には2017年頃に発表された『Transformer』というアルゴリズムが使われます。
今では自然言語処理分野のみならず、様々な分野でTransformerをベースにした様々なディープラーニングのアルゴリズムが生み出されました。
その他
その他、AIを使って可能なことを一斉にあげると
- 商品のレコメンドエンジン
- A/Bテスト
- センサーの異常検知
- カメラによる不良品検知
- 顔認証
- 画像で商品検索
- 音声認識
- 発話
- お絵かきAI
などなどあげればキリがありません。
AIを使ってこんなことができないかな〜ってアイディアベースのご相談でも承っておりますので、
まずはご相談だけでもお気軽にご連絡ください!
どんなときにAIが役に立つのか
ここまででAIがそもそも何なのか、AIには何ができるのか、というものがおわかりいただけたかと思います。
どんなときにAIが役に立つのか、ということですが、ズバリ!!
『人手に頼っていた業務をコンピュータに任せたいとき』です!!
いや、それAIに限らずそうやーん!!というツッコミが画面の向こう側から聞こえてきそうです。
今まではデータの管理や送受信、計算をシステムで自動化する、というのが主でしたが、
AIの登場によって人間の知覚をコンピュータがある程度代替できるようになりました。
(もちろん、まだまだ完全ではなく限定的ですがそれでもかなり大きな力を持っています)
画像分類などの分野ではAIは人間の精度を上回る精度を叩き出しました。
人間は完璧ではありません。コンピュータよりもたくさん休憩が必要ですし、集中力が切れればコンピュータよりも判断の精度が落ちます。
例えば不良品の仕分けなどは、AIを使えば24時間365日休みなくずーっと人間を上回る精度で仕分けし続けてくれます。
AIで新しいサービスを作ることはもちろん、既存の業務のコストを減らすことは可能です。
弊社の実績でも、
- 求人サイトに入稿された文章の正誤チェックの自動化
- Push配信の内容をもとに自動で開封率の高いユーザーを選別して全自動配信
- 果物の選果の自動化
などの開発実績があります。
これらはAIを導入する以前はすべて人力で行っていた業務ですが、すべてAIにより自動化しました。
もちろん初期の開発コストはかかりますが、その後継続的に人件費をカットしてくれることを考えると、
事業によっては充分導入を検討する価値があると思います。
AIを使うべきでないケース
ここまでAIのことを散々アゲてきましたが、何でもかんでも使えばよいというわけではありません。
AIを導入しようとするも、全く精度が出ず、開発費用をドブに捨てて終わった、という話はよく聞きます。
弊社の場合は失敗しそうな案件を無理に請けることはしませんが、以下のようなケースは失敗する可能性が高いでしょう。
- AIを使うことが目的になっている
- 目標を現実的なレベルまで落とせていない
失敗するケースの上の2つのいずれかが多い感覚です。
これに関してはAIに限らずサービス開発やシステム開発一般的にも言えることです。
導入すること自体が目的化してしまうことがあります。
これの唯一の例外はAIを導入したというプレスリリースを打って客寄せパンダのように宣伝にしたい場合です。
この場合はお金かけず適当にプログラム組んで、さっさとプレスリリースを打つのがコスパ良いでしょう。
うまく動こうが動くまいが、導入して公表することが目的なので精度は二の次です。そこはお金かけずにさっさと終わらせましょう。
後者の『目標を現実的なレベルまで落とせていない』というケースですが、担当者やその上司がAIに過剰な期待を抱いている場合です。
何でもできるわけではありません。現在の技術の限界点というものは存在するので、それを越えることはできません。
どう足掻いても届かないゴールを設定してプロジェクトをスタートしている以上、失敗以外のゴールがありえません。
我々にとっては期待値マネジメントも重要な仕事のひとつです。
他にも細かい失敗理由はあると思いますが、ほぼ上記の2つが失敗理由の9割9分を占めるかと思います。
まとめ
というわけでAIの基礎のキソを解説させていただきました。
AI全くわからないって人でも概要くらいは掴めたんじゃないかなーって思います。
IT音痴な上司に『今流行りのAIってやつについて調べてこい!!』って言われたら、このくらいの内容を説明しておけば多分大丈夫だと思います。
もっと専門的な内容や個別具体的な内容はお問い合わせいただければ、相談からでも承ります!!
特にすでにデータを持っている企業は、うまく活用することで競合に対して圧倒的に優位な立場をつくることができます。
もちろん、今はデータの基盤が整っていないがこれからデータの活用を考えている、という企業様も大歓迎です。
プロフィール欄の連絡先までご連絡ください!!
ではまた次の記事でお会いしましょう!
- この記事にいいね!する
この記事を書いた人
- 11いいね!
稼働ステータス
◎現在対応可能
- 小山内 美悠
職種
エンジニア
プロジェクトマネージャー(PM)
希望時給単価
10,000円~30,000円
プロフィールご覧いただきありがとうございます。 東京でAIを使ったシステム開発受託事業を営んでおります小山内です。 2008年に東京大学理科一類に現役合格、大学院には進学せずITベンチャーに就職。 JavaやPHPを使ったシステム開発を行いながら、2016年頃からDeepLearningを使った機械学習に取り組み始める。 現在は機械学習(AI)を使ったシステム開発PJのPM/システムアーキテクトを務めております。 代表的な案件をいくつか記載します。 ・某携帯キャリアのポータルサイトのニュースレコメンド機能開発(ユーザー数数千万人規模) ・某大手アパレル企業の需要予測システム開発 ・街頭広告用デジタルサイネージへのAIカメラ導入プロジェクト ・MAU100万規模の子供向けサービスのデータ分析基盤開発 これらのプロジェクトではいずれも技術側のトップとしてプロジェクトを牽引しました。 私自らデータ分析をしたり、機械学習のアルゴリズムを実装することもしますし、私が経営する会社には私と同じく東大卒の優秀な機械学習エンジニアが多数おりますので、 チームを組んで対応させていただくことも可能です。 機械学習を導入する以前の、データレイクを中心としたデータ分析基盤システムを整える所からお手伝いさせていただけます。 データを経営の中心に据えようとお考えの企業様はぜひご相談ください。
スキル
AWS
GCP
Python
・・・(登録スキル数:10)
スキル
AWS
GCP
Python
・・・(登録スキル数:10)