コラムの最近の記事

はじめに

私文大学生でクラウドの実務経験は皆無です。普段は機械学習などをぽちぽちしています。緊急事態宣言も解除され、次の試験受験を考え始めたので、次に活かせるようにソリューションアーキテクト c02に至った動機や学習方法をまとめていきます。 資格名そのままだと長いので、以降ソリューションアーキテクトアソシエイトをSAA、クラウドプラクティショナーをCLFと略します。

タイトルでは30時間で〜と謳っていますがSAAをパスするCLFに合格していますので、その時間も含めると全部で倍程度の間はかかっています。


動機

AWSとはなんぞや、クラウドとはなんぞやといった説明はわかりやすくまとめてくださっている先駆者がたくさんいらっしゃるのでここでは省略します。 サーバーまわりの細かい用語は応用情報の勉強である程度は前提知識はあると考え、あとは実際にサービスについて知っていこうと思い、それの指針としてCLFをひとまず受けてみることにしました。 SAAは、CLFでは基礎的すぎてもう1つ上くらいならすぐ行けるだろうと甘い考えで受験を決意しました。


資格習得のメリット

知識を取得していくうえで足がかりになる
資格試験全般に言えることかもしれませんが、資格試験のための勉強はがむしゃらにその分野を勉強するよりも、ある程度その道筋が整備されていることが多いです。 そのため、時間効率も高い上により知識を深めたいときに手を伸ばしやすいです。

褒められる
合格すれば褒められます。そして客観的な知識の証明にもなります。 何ももたずに「できる!」というより簡単に最低限のベースラインにいることが他者にも伝わります。


デメリット

資格一辺倒の勉強になりやすい
未経験からのスタートだと、実務を置き去りにしてしまうケースがあります。 特にAWSでは機能のアップデートも早いので注意が必要です。 しかし、言い換えれば、前までは使わなかったけれども新機能追加で日の目をあびるような組み合わせができるかもしれません。 多くを知っている分には損はないとは思います。


学習方法

ここでは実際に使ったサービスを使用頻度順で紹介していきます。

WEB問題集
https://aws.koiwaclub.com/
20h/30h
私はほとんどの時間をこのWeb問題集に費やしました。 AWSでは過去問の流用を禁じていて、公式から問題集もだしていません。しかしこのサイトは転載の可能なホワイトペーパー(後述)の文章を組み合わせて問題が作られているので相当実践に近い形の問題を解けます。 問題の解説も充実していますが、問題文、解説などすべてのコピペができなくなっています。解説にでてきたここの単語なんだろうとぱっと調べることなどができません。 また、解いた問題の保存機能などがありません。この問題は要注意だからといったチェック機能がありません。 そして有料です。CLFの問題を解くためにはダイヤモンドプランが必要で、90日5,000円ほどします。 しかし、これらのデメリットすべてを鑑みてもこのサイトはやる価値があると思います。 ある程度の下地があればこのサイト+わからないものを調べる、で合格が可能でしょう。 だいたい3週ほどしました。

Black Belt
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
5h/30h
3倍速くらいで流し見しました。 AWS公式の方がサービス別にまとめてくださったものです。 基本的なサービスについてはYoutubeでのプレゼンもあります。 はじめは難しく感じましたが、わかったあとに見直すとめちゃくちゃわかりやすくまとまっていました。知識が足りないと思った分野のYoutubeがあればそれを見ていました。プレゼンのPDFだけだと眠くなってしまうので。。。

ホワイトペーパー
https://aws.amazon.com/jp/whitepapers/
3h/30h
上述のWeb問題集の解説にあるリンクから飛んだのがほとんどです。 公式ドキュメントです。死ぬほど眠くなります。文もイミワカランカタカナばっかりです。英語のほうが読みやすいんじゃないかみたいなのが膨大な量溢れています。 これしか学習教材がないときに取った方々は尊敬します。。

公式模試
1.5h/30h
解答探しを含めての時間です。 1回2,000円で受けられます。20問しかありません。解答はありません。当然解説もありません。最後に得点率だけ教えてくれます。 問題の傾向をわかるためにと勧めている方が多かったですが、私にはまったく役に立ちませんでした。どの問題を間違えているのかを分野でしか教えてくれないため、正解を調べても一抹の不安が残ります。自分が弱いところがわかる、という使い方もできますが、結局20問しかないので見過ごしてしまう可能性もあります。1回何かしらの試験に受かるとタダ券がもらえるのでそれを使わないでの受験はおすすめしません。 私が受けた試験はC02という2020年の3月末からの試験で私が受けた4月1日の段階ではほとんど情報が出回っていなかったのですがる思いで受験をしましたが、それでもあまり意味はないと感じました。難易度は体感で本番試験と同程度でしたが、出題範囲は本番のときは結構違いました。

海外のpractice exam
0.5h/30h
試験前日に寝る前にさわりました。 別の問題も見てみたかったので海外版Googleでaws saa practice free examと検索して登録しなくてもできそうなのをいくつかやりました。 上のWeb問題と似たような問題が多く、ひとまず安心しました。 やはり英語の資料や問題集は量が豊富でかつ値段も安いのでお得感がありそうでしたがすでに購入したWeb問題集があるので有効期限が切れたら試してみるのもよいかなと思っています。

公式のトレーニングセッション
https://aws.training/LearningLibrary
CLFのときはここから入りました。SAAは受けていませんが、概要を知るには良いと思います。


勉強時のポイントなど(雑記)

教材は最低限からスタートする
性格の違いもあると思いますが、私は最低限の教材を買って足りないと思った分だけ少しずつ足すようにしています。あまりにやるべき量が多いとそれだけでノックダウンしてしまったり、やっぱりやめたとなってしまうからです。

とりあえず申し込む
テストセンターによると思いますが、会場は休日でもない限り前日でも予約でき、キャンセルは前日までできます。受験料も全額返ってきます。 人は締切が設定された瞬間に強くなります。 私もSAAを受けるときにもう少し伸ばそうと思っていたら緊急事態宣言が出そうだったので涙をのんで前日のキャンセルタイミングをスルーしました。 自分で設定した締切+緊急事態宣言という締切によって逃げられなくなりがんばれました。 とりあえず申し込めば、キャンセルする手間が出来る分何もしないときよりも切迫感を味わえるのでとりあえず申し込んでみるのも手だと思います。

やっぱり実際に使ってみる
暗記の部分に関してはなんとも言えませんが、やはり覚えるときに理由付けがあると効率が全然ちがいます。私は実際に手を動かしたのは簡単なゲームサーバーを建てたくらいですべてのサービスに手を付けたわけではありませんが、そこでやったことは記憶に定着しやすかったです。私はこれが足りず、コスト最適化アーキテクチャが再学習の必要ありの評価でした。

本試験での文章のおかしさ
これも巷に言われていることですが、本試験の文章はおかしなところが多いです。C02の最新の試験のはずなのにいくつかおかしい場所がありました。root userとなるべきところがルートルートと訳されている場所もありました。英語版に慣れておくのもよいかもしれません。


SAA取得で感じたメリット

取ってすぐはそこそこできるようになったかな、という見えない自信くらいでした。まぁ資格を取ったので取っていないよりは見える化出来ていますが。。。 強く成長を感じられたのは新たにdvaの学習を始めたときでした。 上でホワイトペーパーをワケワカランと評していますが、スルスルと読めるようになっていました。
あんなにカタカナがソーマッチなのにWhy?
→SAAで基礎部分を学んだおかげで自然と適応していた。かなと思います。
ただまだまだ読めない部分もあるのでこの調子で学習を続けていきます。


おわりに

総勉強時間はCLFが20時間ほど(1週間)、SAAが30時間(1.5週間)の計50時間ほどでした。どうせ暇なんだからもう少しやれという感じですが。 クラウドは勉強して感動、使ってみて感動のすごいサービスだと思ったので。今後はより広く深いレベルの知識習得を目指します。また、同じクラウドサービスのGCPなども比較してみたいと思うのでこの知識を足がかりにそちらの勉強にも足がかりになればいいなと考えています。


Twitter・Facebookで定期的に情報発信しています!

世界で猛威を振るうコロナウイルスの抑制に向けて、AI・機械学習はどのような貢献ができるでしょうか。

政府、研究者、保健機関を支援するための早期警告、および検出アルゴリズム、患者の旅行履歴に基づく分析、そして最終的にはコロナウイルスワクチンの作成および開発まで、AIはおそらく鍵となるテクノロジーになるでしょう。今回はAI・機械学習での貢献にチャレンジしている事例を紹介します。


機械学習によるウイルスの検出と追跡

たとえば、カナダに本拠を置く病気の分散予測プラットフォームBlueDotが実際にコロナウイルスの発生を特定したのは、米国疾病対策センターからの公式警告があった5日前の 2019年12月31日でした。BlueDotのアルゴリズムは、自然言語処理と機械学習を使用して、65か国語のニュースレポートを、航空会社のフライトデータと動物の病気の発生レポートとともに分析します。システムはこれらのレポートをふるいにかけることにより、感染した住民がどこに、いつ移動する可能性が高いかを特定し、ウイルスが武漢からバンコク、ソウル、台北、東京に広がるのではないかと予測しました。

機械学習は、コロナウイルス曝露の可能性について旅行者をスクリーニングするためにも利用されています。
マレーシアの電子サービス会社MY EG Services Berhadは、中国の旅行会社であるPhoenix Travel Worldwideとともに、入国しようとしている中国観光客ががコロナウイルスに曝された可能性があるか、またはその危険性があるかどうか判断するため、AIがリスクを分析するソリューションを展開しています。このソリューションの機械学習アルゴリズムは、いくつかのデータポイント(以前いた場所、心拍数、血圧など)を利用して分析・予測をしています。


治療計画の作成

ウイルスの追跡以外にも、AIはワクチンの開発や治療に利用されています。
Insilico Medicineは、香港に本拠を置くAIを活用した創薬会社で、コロナウイルスと戦うことができる可能性がある分子化合物を無料公開しています。このテクノロジーは機械学習を使用して特定の分子の特性とそれらがウイルスと相互作用する方法を分析しています。結果に対して薬学者からのフィードバックを求め、ワクチン開発機関の短縮に貢献することを目指しています。


おわりに

貢献の成果が出るのはこれからかと思いますが、複数のソリューションがスピード感を持って開発されています。中国で話題になった「マスクマップ」に続くソリューションが今後も生み出されていくでしょう。

KaggleやSIGNATEでもコロナウイルス分析へのコンペが開催されています。当社インターンでも結果を公開できるように進めています。


Twitter・Facebookで定期的に情報発信しています!

0. 背景

特徴量の自動抽出 」を行うのがDeep Learningの強みの1つですが、与えられたデータに対する推論の過程が ブラックボックス化 され、なぜその特徴量を抽出したのか説明できないという問題点もあります。

例えば、自動運転技術が搭載されている車で事故が起こった場合、「 なぜ事故が起こったのか 」という原因の究明が難しく、実用化にあたり大きなハードルになっています。

最近の機械学習関連の学会では「 Explainability (説明可能性)」についての話題が増えています。この説明可能性については大きく2つ、「 法的な側面 」と「 技術的な側面 」があります。


法的な側面

先の自動運転の例で言うと、起きた事故について「 誰に責任の所在があるのか 」という問題が発生します。「AIを作った人間」に責任があるのか、それとも「AI本体」にあるのか説明出来なければなりません。 外部的な要請として「 AI利活用原則案・AI開発ガイドライン案 」などがあり、他にも「機械学習における公平性・説明責任・透明性」ワークショップFAT/MLが2014年から毎年開催され、国際的な議論もなされています。


技術的な側面

再び自動運転の例を挙げると、事故が起こる直前に、なぜその判断を下したのか「 判断の根拠 」をユーザーに分かりやすく提示しなければなりません。 技術的な面については米国のDARPAが XAI(Explainable AI) 研究開発投資プログラムを開始しており、機械学習に解釈性を持たせつつ精度を上げることを目的としています。


1.Explainable AI(XAI)のアプローチ

A Survey Of MethodsFor Explaining Black Box Modelの論文によると、XAIのアプローチは次の4つに分類できます。

  • Black Box Explanation(解釈可能モデルの抽出) : AIをブラックボックスとして同等の解釈可能なモデルの生成
  • Model Output Explanation(出力に対する説明の生成) : AIの出力に対し、予測の根拠を説明
  • Model Inspection(ブラックボックスの中身の検査) : ブラックボックスの中身の説明
  • Transparent Box Design(透明性のある学習器の設計) : AIの学習過程や構造を人間が解釈しやすくモデル化


それぞれのアプローチの概要を図示すると以下のようになります。

XAI_1.png

Explainable Artificial Intelligence (XAI): Concepts, Taxonomies,Opportunities and Challenges toward Responsible AIより引用

ではそれぞれのアプローチにおける代表的な技術を紹介します。


Black Box Model Explanation(解釈可能モデルの抽出)

代表的な例としてTrepan、G-Rexがあります。

Trepan
ニューラルネットワークbからからこれと等価な決定木を抽出します。具体的にはbに対して人工的なデータを流し、bの出力を得ながら決定木を構築します。

G-Rex
ニューラルネットワークbに対して、学習データである入力と出力の組み合わせからルールを出力します。学習データに少し摂動を加えたデータに対する出力もルールに組み込むことにより、学習データ以外の入力に対するbの振舞いも抽出できます。

Model Output Explanation(出力に対する説明の生成)

最も盛んに研究が進められているアプローチで、代表的な例としてLIME、Grad-CAM、SHAPがあります。

LIME(Local Interpretable Model-Agnostic Explanations)
データ一つに対する機械学習モデルの分類器による予測結果に対して、どの特徴に注目して分類が行われたかの説明をします。例えば、猫の画像認識を行うブラックボックスモデルにおいて、正しく判定されたデータに対して、入力データの特徴に該当する部分を少しずつ変更して結果を比較することで、どの特徴が判定に寄与したかを明らかにします。

Grad-CAM
まずCNNにおいて、入力データの画素の位置情報を最終畳み込み層まで保持させます。そして最後の判別出力への位置情報の影響度を得ることで、元画像上にホットスポット(影響の強い部分)を表示します。

SHAP
結果に対する特徴の貢献度を定量化します。これにより、ある特徴変数の値の増減が与える影響を可視化することが出来ます。例えば、口座が引き落とし不能になる確率を70%としたとき、"年齢=20歳"が25%、"職業=フリーター"が40%、"既婚"であることは-20%などのように、属性値ごとに予測値への数値としての寄与度に分解します。

Model Inspection(ブラックボックスの中身の検査)

代表的な例としてVEC、Prospectorがあります。

VEC
ブラックボックスの中身を見て、出力に対し入力がどのように影響を与えるかを、グラフを用いて可視化します。

Prospector
インタラクティブに入力を変えると、出力がどのように変わるかを示すアプリケーションをユーザーに提供します。

Transparent Box Design(透明性のある学習器の設計)

代表的な例としてFRLがあります。

FRL(Falling Rule Lists)
そもそも説明性のあるルールによる分類や診断技術に対して、各々のルールに正しさの確率を付与したり、ルールに優先順位を付けることにより、透明性がありかつ性能の高い学習器を設計します。


2.総論

ディープラーニングを使う機械学習では、「 特徴抽出の自動化 」により与えられたデータに対する推論の過程が「 見えない 」という問題があります。

ディープラーニングを用いた製品やサービスで事故や判断ミスなど重大な問題を引き起こした場合、原因の究明、改善が要請されます。その際に先述したようなブラックボックス化されているモデルの「説明可能性」に関する話題が増えています。

しかし、XAIには対象や目的に応じて上記のような様々なアプローチがあるので、個別企業だけでは研究開発をカバーしきれないという問題もあります。各国は、XAIを協調領域として国家プロジェクトとしても取り組んでいます。前出のDARPAのXAIのプロジェクトの他にも、国内ではNEDOの「次世代人工知能・ロボット中核技術開発」(人工知能の信頼性に関する技術開発)があり、2019年度は「説明できるAI」に関する7件が採択されました。

このような取り組みを皮切りに、私達もAIに関する問題を解決していきたいと考えています。


参考文献

AI白書2020
AI利活用原則案(総務省)
AI開発ガイドライン案(総務省)


Twitter・Facebookで定期的に情報発信しています!

最近、「機械学習って何が出来るの?」「AIとなにが違うの?」という質問を多くいただくようになってきました。それもそのはず、5年間で機械学習の検索ボリュームは約3倍になりました。


picture_pc_acac8dea3e6eddac84c73fa1e8673294.png


機械学習の概要やどんな課題解決ができるのか、事例をご紹介します。


目次

  1. 人工知能(AI)とは
  2. 機械学習とは
  3. 機械学習の種類
  4. 機械学習の歴史
  5. 解決したい課題別 機械学習の活用事例
    コスト削減/人依存の解消/生産性向上/品質向上
  6. 導入検討フロー


人工知能(AI)とは

人工知能のイメージは人によって大きく違います。人工知能が「推論・認識・判断など、人間と同じ知的な処理能力を持つ機械(情報処理システム)」であることは大多数の研究者たちの意見も一致していますが、それより細かい定義については専門家たちの間で共有されている定義はありません。「人間と同じ知的な処理能力」の解釈がそれぞれ異なるからです。

専門家の定義が定まらないため、一般のイメージはなおさら曖昧です。イメージしやすいものは、お掃除ロボットや自動運転のようにシステムが自ら考えて行動しているように見える、周りの環境に応じて自らの行動を変えられるものでしょう。

なにができるか、といった視点から人工知能を分類し、解説します。


picture_pc_01038c560b5f79fb84172f99dc3846d5.png


1.ルールベースでの制御

エアコンの温度調整など、予め行動が決まっている製品が当てはまります。制御工学やシステム工学と呼ばれ、人工知能には当てはまりません。

2.古典的な人工知能

掃除ロボットや診断プログラムなど、探索・推論・知識データを活用し、状況に応じて振る舞いを変える製品です。既に広く実用化されており、機械学習・深層学習の研究の先駆けです。

3.機械学習

検索エンジンや交通渋滞予測など、大量のサンプルデータを元に入力と出力の関係を学習した製品です。古くから研究され、2000年代に入り、ますます発展しています。

4.深層学習(ディープラーニング)

機械学習では、学習対象の「どのような特徴が学習に影響するか(特徴量)」を見極めることは非常に重要で難しいです。例えば、売上予測をする際にその日の天気が重要、と分かっていると効率的に学習が進められます。 この特徴量を自動で学習するシステムが深層学習です。画像認識、音声認識、自動翻訳など、従来のコンピュータで実現が難しいとされてきた分野での応用が進んでいます。


機械学習とは

機械学習とは、コンピュータにデータを与え、アルゴリズムに基づいた分析をさせる手法のことです。事例となるデータを反復的に学ばせて、特徴やパターンを見つけ出します。見つけた特徴を新しいデータに適用することで分析や予測を行います。 解きたい課題によってそのアプローチは様々です。機械学習にも得意不得意があり、どのような課題であれば機械学習で解決できるのかを知っておくことが重要です。

機械学習が対象とする課題の種類は次の3つにまとめられます。

教師あり学習

与えられたデータを元にそのデータがどんなパターンになるか予測・識別するものです。例えば

  • 過去の受注データから未来の受注を予測したい
  • 写真がどの動物か識別したい
  • 英語の文章を日本語に翻訳したい


といった活用ができます。つまり、与えられたデータ(入力)と返す答え(出力)にどんな関係があるかを学習する手法です。
また、受注予測のように連続したデータの予測は回帰、写真の識別のようにカテゴリを予測するものは分類といいます。

教師なし学習

教師あり学習では、入力データと出力データが対になっていましたが、教師なし学習は出力データがありません。教師=出力データですね。例えば

  • 顧客層がどのようなものか知りたい
  • 膨大なデータの項目間の関係性を知りたい


このようにデータに意味をもたせたい時に活用されます。

強化学習

強化学習は教師あり・なし学習とは少し異なり、「行動を学習する仕組み」とよく表現されています。ある環境下で、目的とする報酬を最大化するための行動はなにか、を学習していきます。例えば

  • パックマンの行動最適化
  • プロ囲碁棋士を破ったコンピュータ囲碁(Aipha Go)


が挙げられます。学習内容の表現が教師あり学習より難しいため、ビジネス活用は上の2つよりは遅れています。

機械学習の歴史

機械学習の歴史は深く、始めて人工知能という言葉が使われたのが1956年のダートマス会議においてでした。世界初の汎用電子式コンピュータが開発されたちょうど10年後です。

人工知能はブームと冬の時代を何度も繰り返しています。

第1次AIブーム(1950年代後半〜1960年代)

コンピュータによる推論・探索の研究が進み、特定の問題に対して解を導けるようになったことが始まりです。東西冷戦中のアメリカでは英語ーロシア語の機械翻訳が注目されました。 しかし、数学の証明のような簡単な問題は解けても、現実の複雑な問題は解けないことが明らかになり、1970年代には冬の時代に入りました。

第2次AIブーム(1980年代)

コンピュータに知識を入れると賢くなるというアプローチが全盛となり、データベースに大量の専門知識を入れたエキスパートシステムが多数登場しました。しかし、その知識を管理・蓄積させることの大変さから1995年頃にまた冬の時代に突入しました。

第3次AIブーム(2010年〜)

ビッグデータを用いることで、人工知能が自ら知識を獲得する機械学習が実用化されました。また、特徴量(学習の際に注目すべき特徴を定量的に表したもの)を自ら発見して学習する深層学習(ディープラーニング)が登場したこともブームの背景です。

3つのブームは関係しあっています。
例えば、1990年にインターネット上にWebページが出現し、データが蓄積されるようになったことで、データ活用が進み、機械学習が発展しました。その機械学習も急に出現したわけではなく、第1次ブームや第2次ブームの時も機械学習は研究されています。

解決したい課題別 機械学習の活用事例

ここからは具体的に機械学習で解決できることを紹介していきます。よく聞く課題をピックアップしています。
(タイトルのリンククリックで事例ページに遷移します。)

コスト削減

点検作業の自動化
カメラで撮影した建物画像からひび割れ等の老朽化箇所を検出します。人からシステムに役割を変えることができ、人件費削減だけではなくかかる時間も短縮することができています。

倉庫内配置の最適化
倉庫内にカメラを配置し、撮影することで作業社の行動や物の位置を把握し分析します。倉庫内の動線や配置の最適化によって業務を効率化し、コスト削減を実現します。

特定箇所への農薬散布
企業が農業へ参入したことで、日本では集約農業から大規模農業へと転換が進んでいます。広大な農地で作物を育成する際に、ドローン等で空撮したデータから必要な箇所を割り出して、病害虫が発生している箇所ピンポイントに農薬を散布します。農薬使用量を削減できるだけでなく、他作物へのダメージを減らすことができます。

無人レジ
人がレジ打ちをする作業をなくしシステムが自動計算します。パンやドーナツ、ケーキなどラベルが付いていないものへのアプローチとして有効です。

人依存の解消

受注量予測
過去の受注量のメカニズムからどれだけの発注があるか予測します。ベテランにしかできなかった発注業務の敷居を下げることで、限られた人しかできなかった業務を分配することができます。

野菜収穫の自動化
ノウハウが重要な収穫時の見極めをAIがおこないます。AIが判断した後にロボットに信号を送ると自動で収穫をおこなうマシンも検討できます。

生産性向上

問合せへの自動応答
社内からの問合せ件数は日にかなりものです。その問合せをチャットボットで自動応答にすることができます。質問者も作文に時間をかけずに気軽に質問することができます。

居眠り検知
同じ作業が続く検品等で、うとうとしそうになってしまうことがあります。目の開きがあまくなるとアラートが鳴り、目を覚ましてくれるシステムも構築できます。

品質向上

高解像度画像の作成
最新のAI技術では荒く見づらい画像を高解像度に直すことができます。品質で失注していた案件に、より良い提案が出来る可能性が上がります。

コンベア内の品質チェック
コンベアを流れる物体が良品か不良品かを判定します。不良品可能性のある物は人が見るまでもなく振り分けることで、人の疲労による見落としを減らすことができます。

口コミ分析
集まった口コミを分析し、改善点を明確にします。その口コミが「ポジティブかネガティブか」を分類し、ネガティブな口コミの原因抽出をします。

導入検討フロー

導入検討が成功した事例はまだまだ公開数が少なく、何から手を付けてよいか...。と相談を受けることもあります。(もちろん例外も多々ありますが)一般的な機械学習導入検討フローを紹介します。


picture_pc_8a78dc2140d079f15eac054a9fdf3eba.png


1.企画

機械学習は手段であり、活用が目的ではありません。「解決すべき課題はなにか」を深堀りし、実現したい世界を明確にすることが大切です。手段として機械学習が適切かどうか、費用対効果の試算も必要です。 また、機械学習活用にはデータが必要です。必要なデータが揃っているのか、収集できるのか、どれほど欠損があるのか(すぐに機械学習に使えるキレイなデータはほとんどありません。)の確認もこの段階で重要です。

2.検証(PoC)

企画した計画の実現可能性を確かめる段階です。 機械学習アルゴリズムの選定→データの前処理(整形)→機械学習モデルの選定・構築→評価 のプロセスを実行し、求める結果に達する可能性と工数を確かめます。 求めたい精度に達するまで、別のアルゴリズムを試したり、モデルを変更したりとチューニングします。 機械学習は魔法ではありません。特性上、試してみないとどのくらいの精度が出せるか分かりません。そのため、まずは小さく試して実現可能性を確認することが必要です。

3.本開発

検証段階で実現性が確認できたモデルを実運用に向けて拡大していきます。 検証段階では限られた条件のため、作成したモデルをそのまま横展開しても思うような結果(精度)が出ないことも多々あります。その場合は、検証段階のモデルやノウハウを活用しつつも、モデルを再チューニングします。 また、目的に立ち返り、「本当に必要な精度」を再検討することで、チューニングにかかるコストを削減することもできます。

4.運用

いよいよ業務で活用します。機械学習を業務に取り入れると、業務フローが少なからず変わります。現場で使われるシステムにするために業務フローを再設計することが必要です。

機械学習はこれからビシネス活用が進んでいくフェーズです。そのため経験豊富なベンダーと二人三脚の検討が成功のコツでしょう。

アクセルユニバースの紹介

私達はビジョンに『社会生活を豊かにさせるサービスを提供する。』ことを掲げ、このビジョンを通して世界を笑顔にしようと機械学習・深層学習を提案しています。

  • ミッション(存在意義)
    私達は、情報通信技術を使って万物(全ての社会、生物)の暮らしをよりよくすることに貢献し、 それを加速させることを使命とします。

  • ビジョン(目標とする姿)
    社会生活を豊かにさせるサービスを提供する。

  • バリュー(行動規範)

    1. 変化を求め、変化を好み、変化する
    2. 自分の高みを目指してどんどん挑戦する
    3. お客様と一蓮托生でプロジェクトを進める


会社概要はこちら


Twitter・Facebookで定期的に情報発信しています!

フェイクニュースは珍しいものではありません。
コロナウイルスの情報が凄まじい速さで拡散されていますが、その中にもフェイクニュースは混ざっています。悪意により操作された情報、過大表現された情報、ネガティブに偏って作成された情報は身近にも存在しています。
これらによって、私たちは不必要な不安を感じ、コロナ疲れ・コロナ鬱などという言葉も出現しました。

TwitterやInstagramなどのソーシャルメディアでは嘘みたいな衝撃的なニュースはさらに誇張な表現で拡散され、フェイクニュースは瞬く間に広がります。嘘を見破るのは難しく、見破られないまま多くの人に「正しい情報」として届けられています。
2017年に『Journal of Economic Perspectives』誌に掲載された記事では、アメリカの成人の62%がソーシャルメディア上でニュースを得ており、フェイクニュースサイトへの訪問は41.8%がソーシャルメディアのリンクを経由していることが示されています。

フェイクニュースの無い世界ではじめて、私たちは正しい情報に触れ健全な判断をすることができます。
しかし、膨大な情報が混在するソーシャルメディア上でフェイクニュースを発見する作業は人間が行うにはコストがかかりすぎるため現実的ではありません。

AIはフェイクニュースを発見できないでしょうか。


AIはフェイクニュースを発見できる?

ソーシャルメディアの登録者数が世界的に増えているにも関わらずソーシャルメディアのプラットフォームもこの新興市場に投資していないようで、技術検証に留まっています。

革新的なスタートアップが出現するかどうかは出資の有無にかかっているでしょう。 今後、ソーシャルメディアの世界を牽引するためにフェイクニュース検出への投資が出現するのではないでしょうか。

商品化はされていませんが、技術検証は進んでいます。


FEVERによる情報の正誤判定

マサチューセッツ工科大学では、Facebookが支援している研究者がフェイクニュースを発見するためにFEVER(Fact Extraction and Verification)を利用しています。 ※FEVER:大規模なファクトチェックのためのデータベース

しかし、FEVERでさえもバイアスがあり思うようにフェイクニュースを発見できていません。

FEVERは機械学習の研究者たちによって、ウィキペディアの記事を元に、情報に対して正誤を判定するために利用されてきました。しかし、そのデータセットにバイアスがありそれで学習したモデルが誤った結果を導いてしまったと研究チームは分析しています。

例えば、'did not''yet to'のような否定のフレーズが含まれた文章は「偽」の場合が多いため、FEVERで訓練されたモデルは、これらの文が実際に真実であるかどうかに関係なく、偽と判定してしまう可能性が高いことが課題です。

真実である"Adam Lambert does not not hide publicly his homosexuality "は、AIに与えられたデータから真実と導けるにもかかわらず、否定のフレーズが入っているので偽とされる可能性が高いです。

判定の根拠に主張の言語(どんなフレーズが入っているか)に焦点を当てており、外部の証拠(実際はどうであるか?)を考慮に入れていないことが問題でしょう。

証拠を一切考慮せずに主張を分類することのもう一つの問題点は、全く同じ主張が今日は真であっても、将来的には偽であると考えられる可能性があるということです。 例えば、女優のオリビア・コルマンがオスカーを受賞したことがないというのは2019年までは本当でしたが、現在では違います。情報は常に更新されていくのです。

これらの課題解決のため、研究チームはFEVERのバイアスを解消し一部を修正するデータセットを作成しています。


計算言語学と機械学習のハイブリッド手法

2018年に発表されたミシガン大学とアムステルダム大学の論文は、効果的にフェイクニュースと戦うために、計算言語学とファクトチェック(事実検証)を組み合わせるアイデアを発表しました。

計算言語学では、自動化された方法でフェイクニュース発見を実施できます。 本物と偽物のニュースを区別するために、言語学的特徴に注目してニュース内アイテムの語彙的、構文的、意味的なレベルを見て判断します。

開発されたシステムの性能は、このタスクにおいて人間の性能に近く、最大76%の精度でフェイクニュースを発見することができました。

しかし、考慮するのは言語学的特徴だけではなく、事実検証の要素も含めるべきと指摘されています。 例えば、記事へのリンク数やコメントなどのメタ特徴や、ニュースページの見栄えなどのモダリティ的な特徴のことです。これらは機械学習でアプローチすることができます。

これらを踏まえて今後の研究では、計算言語学や事実検証(AI・機械学習)のアプローチをハイブリッドにした予測と意思決定が必要だと考えられます。


実現に向けた課題

これらの例を見ただけでも課題があることがわかります。
イノベーターたちは様々な角度から問題を考えてきましたが、思うような改善には至っていません。

どちらの例でも言及されていない課題があります。
フェイクニュースがどのように作られているかご存知ですか。現在はAIがかなり精巧に作成していますが、問題は人間の作るフェイクニュースです。AIはルールに従ってフェイクニュースを作成するため、私たちも対抗することができますが、人間が作成したニュースを見破るためには難易度が一気に上がります。


たとえば、Twitter。


多くの情報を拡散したい時にTwitterは効果的なツールです。
Twitterでフェイクニュースを拡散したい時、複数のBotで自動投稿するでしょう。Botは単に「いいね!」や「フォロー」数を増やしたり、リンクを拡散したり、トレンドに入るために多くの投稿をしたり、反対派を荒らしたりするために構築されます。このように自動化されたアカウントの大部分は非常に単純なもので発見しやすく現在の技術でも対応できるでしょう。

これだけの対策でも、拡散されるフェイクニュースの効果を弱めることができます。 悪意のある情報の拡散は私たちの気持ちを落ち込ませるだけでなく、健全な判断をも奪います。

スクリーンショット 2020-03-26 16.52.10.png


フェイクニュース発見に尽力すべきは誰?

このようなソーシャルメディア上のフェイクニュースの発見は誰が行うべきでしょうか。

FacebookやGoogleなどは暴力やテロリストグループの情報を含むコンテンツの発見には投資していますが、フェイクニュースの発見にはそれほど熱心ではないようです。理由は先程のようにオンライン上には様々な表現、文脈で存在し、AIが独自に発見するは難しいためでしょう。 しかし、今後さらに大量のコンテンツが溢れ、有益な情報のみ吟味するためにはフェイクニュースを発見することは必須ではないでしょうか。


市場のチャンス?

今後、ソーシャルメディアのプラットフォームを牽引する企業は出現するでしょう。
利用ユーザー数を増やし、市場を獲得しするためにはユーザーの安全が確保されることが大切です。子供には使わせられないソーシャルメディアは大人も使いたくないですよね?

ソーシャルメディアの登録者数が世界的に増えているにも関わらず、どのソーシャルメディアのプラットフォームもフェイクニュースの発見に積極投資はしていないようで、技術検証に留まっています。

しかし、より安全で健全な世界のためにこの技術は凄まじい進歩を遂げていくのではないでしょうか。


Twitter・Facebookで定期的に情報発信しています!

最近はGoogleを始めとする翻訳サービスにも機械学習が取り入れられ、翻訳精度が向上しています。

しかし、完璧な翻訳を求めるには精度が足りず、確認作業に時間がかかったり、翻訳されたものが正しいのか見極めるスキルが必要なケースがほとんどです。

このような課題がある中、高精度な翻訳ができる「DeepL」が、日本語と中国語の翻訳に新しく対応したので、日本語での翻訳機能を試してみました。


DeepLとは

DeepLはドイツのケルンで開発された深層学習(ディープラーニング)を用いた人工知能(AI)による翻訳システムです。以前から英語・オランダ語・フランス語・ドイツ語・イタリア語・ポーランド語・ポルトガル語・ロシア語・スペイン語などの言語に対応していましたが、2020年3月19日から日本語と中国語にも対応したと発表されました。

DeepL翻訳が日本語と中国語を習得
https://www.deepl.com/blog/20200319.html

2020年初めにDeepL翻訳はニューラルネットワークの大幅な改善を行い、日本語と中国語の翻訳精度が向上しました。日本語と中国語の翻訳精度を他翻訳と比較したグラフです。
DeepL


Google翻訳と性能比較

DeepLではどの程度の翻訳ができるのでしょうか。
AIができるコロナウイルス対策について紹介している文章の冒頭を翻訳しました。
Fighting the Spread of Coronavirus with Artificial Intelligence
https://tractica.omdia.com/artificial-intelligence/fighting-the-spread-of-coronavirus-with-artificial-intelligence/

DeepL

ほとんど完璧な翻訳です。Google翻訳と比較してみましょう。
前半はほぼ同様の訳のため割愛し、後半のHowever以下を掲載します。少し苦戦しているようです。
DeepL

Google翻訳では訳しきれていない部分があります。その他にも理解はできますが、やや首を傾げる箇所もあり、この文章ではDeepLの方がスムーズな翻訳ができていることが分かります。


機械学習、深層学習は学習のために翻訳前後をセットにして学習させ、精度を向上していきます。 今後も更に学習を進め、精度向上していくでしょう。


Twitter・Facebookで定期的に情報発信しています!

【ネタバレあり】


皆さん今年のM-1グランプリご覧になりましたか? 今年はミルクボーイさんが見事歴代最高得点で優勝しました。本当におめでとうございます!


ミルクボーイさんといえば

「それコーンフレークやないかい!」

「いやほなコーンフレークちゃうやないかい!」

と一方の文章に対してもう一方がコーンフレークかどうかをつっこむ、というネタですよね。


そこでテレビを見ながら思ったわけです。

「これって、機械学習でできるんじゃね?」

与えられた文章に対して、それがコーンフレークについての文章かどうかを判別する、というのはいかにも機械学習ができそうなことです。

ということで作ってみました!

スクリーンショット 2019-12-27 16.40.46.png @1_milkboy
このツイッターアカウントは入力した文章に対して「それコーンフレークやないかい!」/「いやほなコーンフレークちゃうやないかい!」と突っ込んでくれます。


BERTを使ってみた

まずは、元データを用意します。
これはミルクボーイさんの漫才の中の言葉の他に、ウィキペディアの記事などから集めてきました。
コーンフレークなら1、そうでないなら0という風に値を指定していきます。
時間もなかったので、全部で70件ほどしか集まりませんでした...
image1.png
次に、学習機です。
文章の学習、ということで用いたのはBERTです。(BERTについてはこちらを参照
Googleさんが104ヶ国語に対応しているmultilingual BERTを公開しているので、改めて日本語を学習していく必要はありません。
日本語を学習済みのBERTを使って、元データを読み込ませてどういう分がコーンフレークなのか学習していきます。

train = pd.read_csv(text, header=0)
BERT_MODEL_HUB = "https://tfhub.dev/google/bert_multi_cased_L-12_H-768_A-12/1"

[途中略]

print(f'Beginning Training!')
start_time = datetime.now()
model.train(input_fn=train_input_fn, max_steps=num_train_steps)
print("Training took time ", datetime.now() - start_time)


学習が終わったところで、実際の文で試していきましょう!

今回は
「朝ごはんに食べると目が覚めるやつ」

「ごはんと食べるとおいしいやつ」
の2文で試していきます。

前者が「ほなそれコーンフレークやないか」、後者が「ほなそれコーンフレークちゃうやないか」の予定なのですが、元データが少ないので、「朝ごはん」と「ごはん」の違いに引っかからないかがポイントですね。


labels = ["ほなそれコーンフレークやないか", "ほなそれコーンフレークちゃうやないか"]

[途中略]

predict_text = ["朝ごはんに食べると目が覚めるやつ", "ごはんと食べるとおいしいやつ"]
predictions = getPrediction(model, predict_text)
predictions


結果がこちら!
image2.png
残念ながらどちらも「ほなそれコーンフレークやないか!」とつっこまれています...
やはり元データを増やさないと精度はまだまだ出ませんね。


Word2Vecを使ってみた

ということで今度はWord2Vecを使ってみました!(切り替えが早い...)
BERTはWord2Vecより性能が高いのですが、元データが小さい場合、Word2Vecでキーワードだけ拾ったほうがよいのではと思い試してみることにしました。
まずは日本語のWord2Vecを(http://www.cl.ecei.tohoku.ac.jp/~m-suzuki/jawiki_vector/)から引っ張ってきました。
BERTもそうでしたが、日本語に対して学習済みの機械が出ているのは非常に助かりますね!

次に、入力を処理していきます。与えられた文章の中から名詞と動詞のみを抽出し、単語のlistにします。

def counter(texts):
            t = Tokenizer()
            word_count = defaultdict(int)
            words = []
            for text in texts:
                tokens = t.tokenize(text)
                for token in tokens:
                    pos = token.part_of_speech.split(',')[0]
                    if pos in ['名詞', '動詞']:
                        # 必要ない単語を省く(実際の結果を見て調整)
                        if token.base_form not in ["こと", "よう", "そう", "これ", "それ", "もの", "ため", "ある", "いる", "する"]:
                            word_count[token.base_form] += 1
                            words.append(token.base_form)
            return word_count, words


続いて、この単語のlistとキーワード(今回はコーンフレーク)との相関度を計算します。
Gensimのライブラリは充実しているので一行ですみます。

score = self.model.n_similarity([keyword], words)


最後にこの数字が0.5以上なら「ほなそれコーンフレークやないか」、0.5以下なら「ほなそれコーンフレークちゃうやないか」を出力する、という形にしました。

if (score > 0.5):
          return("ほなそれコーンフレークやないか")
        else:
          return("ほなそれコーンフレークちゃうやないか")


これをキーワードは「コーンフレーク」、文章は「アフリカの名産品って言ってた」で試してみましょう。
文章の中から「アフリカ」「名産品」「言って」を抜き出し、それぞれと「コーンフレーク」との相関の平均を取ります。
するとなんということでしょう、「ほなそれコーンフレークちゃうやないか」と出力されるではありませんか!

さきほど失敗した「ごはんとめっちゃ合うって言ってた」でも試してみると、
今度は大成功です!


まとめ

今回Word2VecとBERTの両方を試してみて、ぱっと見たところWord2Vecのほうが結果が良いことがわかりました。
しかしこれは本当は苦肉の策です。単語だけを抜き出すより、文脈全体を考慮したほうがよいですし、0.5という敷居値も独断っと偏見でしかありません。それぞれの単語とキーワードの相関も足し合わせただけではホントは良くないかもしれません。そういった点で、最初にBERTを使ってみたのですが、いかんせん元データの数が少なすぎました。いずれ十分なデータ量がたまれば、BERTが活躍できる日が来るかもしれません。
最終的にはミルクボーイさんとコラボなんてしてみたいですね。
それではまた!皆様よい新年をお迎えください!


Twitter・Facebookで定期的に情報発信しています!

最近、機械学習のビジネスへの活用がさかんになっています。
その中でこういったお困り事はありませんか?

  • トップダウンで「機械学習を導入してほしい」と言われたけど何から始めればいいか分からない
  • 機械学習の導入を検討したけど計画で頓挫した
  • 社内に機械学習の導入を提案したいが、提案がまとまらない


本記事ではそんな方向けに機械学習の検討ステップと導入効果をご紹介します。


機械学習の検討ステップ

Process

1.AI・機械学習で出来ることを知る
2.対象の業務・目的を決める
3.学習データを用意する
4.モデルを開発する
5.評価をする
6.運用する


もちろんお客様ごとに異なりますが、概ねこのような流れで検討〜導入することが多いです。
次に各検討ステップの詳細をご紹介します。


機械学習で出来ること

機械学習はこれらのことを得意としています。
スクリーンショット 2019-12-26 16.36.30.png


いくつかサービスの具体例を挙げてみます。

チャットボット

お客様や社内の問い合わせへチャットボットが回答します。
業務効率化だけではなく、お客様をお待たせしない仕組みを作ることができます。

不良品検知

製造過程での不良品をシステムが発見します。
人がおこなっていた長時間の業務をシステムが代替し、人はさらに生産性の高い業務に当たることができます。

手書き帳票処理

手書きの書類を読み取り、データ化します。
コストのかかっている人力での転記作業をシステムがおこないコストを削減し、紙の紛失リスクを低減します。

食べごろ野菜検知

収穫前の野菜にカメラをかざすと、食べごろの野菜に反応します。
人依存作業による、収穫時の人手不足を解消します。

離職危険性アラート

アンケート結果と部署異動等の変化等の現職者の状況から、離職可能性を可視化します。
早期に退職希望者やストレスを感じている人に気付き、フォローをおこなえます。

価格査定

過去の査定情報から、『もし、いま、これを売るとしたらいくら?』と査定します。
売り手への意思決定の補助、早期の情報提供ができます。


対象の業務と目的を決める

ずばり、AIを導入してどんな業務で何をしたいのかです。

「それを考えるのに困ってるんだよ〜。」

ってお思いですよね...。ただ、ここが定まらないとAI(機械)も困ってしまいます。 なぜなら、課題と指標の設定は人間にしかできません。

  • 上記に挙げた活用例の使えそうな業務を見つける
  • 困っていること(課題)に対して、解決の方法を見つける

の2パターンでどんな業務で何をするのかを決めていきます。


その後は、ゴール(目標)の設定が必要です。


問い合わせ業務の効率化のためにチャットボットの検討をしたとします。
現状、ありがたいことにお客様の問い合わせが多く、対応が追いついていません。
業務が膨大になるだけではなく、このままではお客様に迷惑をかけてしまいかねません。
ーーーーーーー...

この時に考えられるゴールは複数ありますよね。
問い合わせ業務にかかっている時間を◯%削減する、誰でも問い合わせ業務をできるようにして一人あたりの負担を軽減する、お客様満足度を向上させる...。

このゴールによって、AIでおこなうことや学習させるデータ、出力するものが変わってきます。
そのため、まずは活用例を参考に解決したい課題と対象業務を設定することが必要です。


学習させるデータを用意する

機械学習はその名の通り、機械に学習させて、結果を出力させます。

どんなに優秀な人でも、学習(勉強した答え)を誤ると正しい答えを導けません。
また、学習時間を多く取れば、正解の精度も上がりますが、同じ学習だけを長い時間し続けてしまうと、幅広い問題には対応できません。


機械も同じです。


そのため、目的に応じて正しいデータをたくさん学習させる必要があります。


導入効果

それではAI・機械学習の導入効果についてご紹介します。
これらが実現できます。

  • 業務効率化
  • コスト削減
  • 顧客満足度向上
  • リスク管理
  • 社内環境改善


機械学習は大量のデータを活用/同じ作業を早くくり返す/過去から未来を予測することが得意です。


そのため、 書類の転記作業や同じような問い合わせへの対応等、定期的に人手でおこなっている作業をシステムが代わることで、業務効率化をしコストの削減に繋がります。
そうすることで昨今叫ばれている生産性の向上の手助けにもなるでしょう。

作業時間が短縮することで、お客様対応へより多くの時間を充てることができます。接客はもちろんですが、お客様に喜ばれる企画をする時間も増えるということです。
お客様に充てる時間だけではなく、社内向けの時間も同様です。後回しになりがちなより働きやすい環境へ整備する時間を確保することができます。


おわりに

機械学習 検討ステップと導入効果をお伝えできたでしょうか。

当社のバリュー(行動規範)のひとつに『お客様と一蓮托生でプロジェクトを進める』を掲げています。
みなさまの検討へも早期段階からお手伝いいたします。

スクリーンショット 2019-12-26 19.16.02.png

機械学習は幅広い活用方法があり、お客様ごとの活用方法が必要です。
当社ではみなさまの課題やお困り事を一緒に解決していきます。
下記にご興味がありましたら、問い合わせ口からご連絡ください。

  • 機械学習の導入を考えている
  • 活用事例についてもっと詳しく知りたい
  • 他になにが出来るのか興味がある


当社、アクセルユニバースの紹介

私達はビジョンに『社会生活を豊かにさせるサービスを提供する。』ことを掲げ、このビジョンを通して世界を笑顔にしようと機械学習・深層学習を提案しています。
例えば、現在人がおこなっている作業をシステムが代わることで、人はより生産性の高い業務に携わることができます。


acceluniverse


Twitter・Facebookで定期的に情報発信しています!

最近は今までに増して機械学習を検討する企業が増えています。 しかし、導入検討にあたり、機械学習でなにを改善するのか/なにを解決するのかという、導入目的を決めあぐねているケースも多いと耳にします。

本記事では機械学習はどのような業種で、どんな目的で導入されようとしているのかを紹介し、機械学習の活用例と解決できる課題(導入効果)をお伝えします。

『こんな使い方が自社に役立つな』や『機械学習でこんなことをやりたい』を発見してもらえると嬉しいです。

検討段階のシフト

2018年にIBMがおこなった調査によると、企業の82%はAIの導入を検討しています。
また、AIの運用と最適化を開始している企業は、2016年と比較すると、33%増加しています。導入に向けて成果を上げている企業は概念検証のテストや実験の域を超えて進んでいます。

経営層の目の向く先は、

『機械学習を導入すべきか』
から
『どのようにして機械学習を導入するか』
へと移行しているようです。

機械学習は技術的な進歩がめざましいと紹介されていますが、それに沿うようにして機械学習への期待も膨らんでいます。

機械学習の導入・活用実績

機械学習の導入率はテジタル化が進んでいる業界で高く、そのスピードも今後上がっていくと見込まれます。

例えば金融サービス業界では既に16%の企業が 機械学習システムを運用または最適化し、次いで製造業が追いかけています。

しかし自動車やヘルスケア業界にもこの傾向は見られており、機械学習は今後も大きな期待をされていることがわかります。

機械学習に期待すること

情報技術 (IT) と情報セキュリティー (IS)が、最も優先すべき業務として挙げられています。

例えば 機械学習を利用したヘルプデスク仮想アシスタント、 プロセス自動化、脅威検知アルゴリズムの活用があります。
その他に、イノベーション、顧客サービス、リスクの領域があります。
イノベーション領域には戦略的な機会が不可欠ですし、顧客サービスの領域は多くの企業が仮想アシスタント機能を試験的に導入しています。 そしてリスクの領域では不正の防止と検知が重要です。

幅広い領域で機械学習は活用できますが、効果的な導入にするためにはどの領域で/何を達成するのかという設定が必須です。

コスト削減より、顧客満足度を重視

企業として売上増加はこの 2 年間で一層重視されるようになりました。

調査によると、経営層は顧客満足度と顧客維持率をAI投資の主な目標に掲げており、これはコストに対する考慮を大きく上回りました。
もちろんこれはコストが重要ではないという意味ではあり ません。

多くの 機械学習プロジェクトの中を見てみると、目的のひとつにはやはりコスト削減の要素が含まれているので、『コスト削減は当然で、次の視点として顧客満足度を重視している』とも言えます。
また、運用コストの削減も 3 番目に重要なものとされています。しかし、このランキングでの順位をを押し上げたのは最高財務責任者 (CFO) と財務部門かもしれません。

加えて、多くの企業は製品やサービス よりも顧客体験を重視しています。
何を売るかよりも、その製品やサービスを通じてどんな体験ができるか、ということです。体験は購入後だけではなく、購入前の検討時もその対象です。 

顧客体験の向上は、顧客に対面するその企業の担当者次第であることが少なくありませんが、
そのような場面で AIを的確に利用した仮想アシスタントを使用すれば、既存の専門知識を拡大して、顧客の質問により速く、正確に、しかも経済的に答えられるようになります。

機械学習活用例

ここまで、機械学習が活用されている業種と目的をお伝えしました。
次に業種ごとにお客様満足に繋がる機械学習の活用例をご紹介します。

製造業

『製造ラインでの不良品検知』


課題
食品製造ラインで不良品は手作業で弾いている。

  • 個人ごとに判断がばらつく場合がある
  • 同じ体勢で長時間いるため作業者への負荷が大きい


導入後
製造ラインにカメラを設置し、良品/不良品を自動で仕分けする。

  • 作業者は別の業務にあたることができ、より利益追求や改善が進んだ。
  • 生産性の向上も実現し、労働時間を短縮できた。


飲食業

『顧客の消費予測で廃棄、機会損失の減少』


課題
いつ、どれくらい売れるかを肌で感じ、仕入れをしている。

  • 店長のスキルで売上、利益が大きく異なる。
  • 仕入れを絞ると機会損失が生じ、仕入れを増やすと廃棄が多くなる。


導入後
過去の売上から未来の売上を予測する。

  • 廃棄や機会損失の減少
  • 常に欲しい物が適切量ある店舗で、顧客満足度も向上


小売業

『チャットボットでユーザー好みの商品をオススメ』


課題
ECサイトでの売上が伸び悩んでいる。

  • 試着ができないため、ユーザーは意思決定できない。
  • 電話での個別問い合わせはハードルが高く、利用されない。


導入後
ユーザーが質問に答えると似合う商品が分かるチャットボットを利用。

  • 廃棄や機会損失の減少
  • 常に欲しい物が適切量ある店舗で、顧客満足度の向上


『SNSから商品評価分析』


課題
商品のリアルな評価が不透明で新商品開発で悩んでいる。

  • どのようなシーンで、誰が商品が使われているか知りたい。
  • 口コミサイトや直接の評価は極端なものが多い。


導入後
SNSから自社商品が写っている写真を分析する。

  • 利用されている季節や雰囲気が分かり、より顧客に寄り添った商品開発が出来る。


おわりに

機械学習は幅広い活用方法があり、お客様ごとの活用方法の提案が必要です。
運用までこのような流れで進めることが多いです。
Process


アクセルユニバースではみなさまの課題やお困り事を一緒に解決していきます。
下記にご興味がありましたら、問い合わせ口からご連絡ください。

  • 活用事例についてもっと詳しく知りたい
  • 機械学習・深層学習は他になにが出来るのか興味がある


アクセルユニバースのご紹介

私達はビジョンに『社会生活を豊かにさせるサービスを提供する。』ことを掲げ、このビジョンを通して世界を笑顔にしようと機械学習・深層学習を提案しています。
例えば、現在人がおこなっている作業をシステムが代わることで、人はより生産性の高い業務に携わることができます。


acceluniverse


Twitter・Facebookで定期的に情報発信しています!

はじめに

2019年秋の応用情報技術者試験に無事合格することができたので、勉強法などを何番煎じかわかりませんが書いていこうと思います。 私は現在文系学部の2年生で、趣味でプログラムとかを5年ほどやっているのでパソコン系の知識はそこそこありますが、数学や理論といったことははめっきり。 今春に基本情報技術者試験を通ったのでその流れで受けました。

試験の概要

IPA(独立行政法人 情報処理推進機構)によって実施されており、士業の独占などはありませんが、国家資格のひとつです。

対象者像
高度IT人材となるために必要な応用的知識・技能をもち、高度IT人材としての方向性を確立した者


試験形態として、午前・午後試験があり、両方で60点以上で合格です。 午前試験が全て4択問題に対して、午後試験は記述式です。とはいえ、問題のほとんどが選択肢問題だったりします。
こちらから試験の過去問が公表されています。

問題の傾向や勉強法

午前試験

テクノロジ系 50問

マネジメント系 10問

ストラテジ系 20問

の3つ全80問から構成されています 。

基本情報と難易度はさして変わらないと言われますが、覚えないといけない量が少し増えます。特にテクノロジ系は計算問題が基本情報に比べ遥かに難しいと感じました。

ただ、午前試験の対策を万全にしていたら午後試験もその知識で解ける問題がほとんどだと思いました。

勉強法

ひたすら過去問を繰り返す。

私は ここを愛用していました。

会員登録はすると間違えた問題でソートしたりできるようになります。必須です。これだけでいいです。

参考書を基本情報試験のときに1冊購入しましたが、結局1回流し読みしてあとは辞書変わりに見る程度の使い方しかしていなかったので、応用情報用の参考書は買いませんでした。参考書通りにじっくり時間をかけるのはコスパ悪いと思います。 基本情報のときにはこちらを使っていました。

textbook

紙の本を買っても、電子版のpdfを無料で使えたので重宝しました。

わからなかったところは、ググって出てきた中で一番易しそうなのを見ました。文が多いと嫌になるので。
自分はここでさっと見てわからなかったら深く調べていました。 だいたいここで完結できます。

ある程度の知識があれば、通勤、通学時間だけで事足ります。

私は、通学に片道1時間程かかるので、その時間にせこせこやっていました。

電車の中では計算問題を出さないモードがあるので選択肢だけで完結している問題に終始するといいと思います。

本番はいくらでもメモが取れるのでそういった問題は別個で机に向かって解くと時短になります。

当日

試験時間が全部で150分もありますが、40分経つと退出可能になります。午後のことも考えて十分見直しが終わったら長めの昼を取るといいと思います。
私は30分で1週解ききって追加で30分ほどかけて見直しをして退出して隣の駅まで悠長に食事をしに行きました。

午後試験

試験の1ヶ月ほど前に気合を入れて過去問をコピーして3週間かばんにいれ読むことはなくお守りに。1週間前に焦って解き始めました。 分野として、

  1. 情報セキュリティ※必須
  2. 経営戦略
  3. プログラミング
  4. システムアーキテクチャ
  5. ネットワーク
  6. データベース
  7. 組込みシステム開発
  8. 情報システム開発
  9. プロジェクトマネジメント
  10. サービスマネジメント
  11. 11システム監査

の全11問の中から1以外から4問選択できます。

前までは経営戦略かプログラミングのどちらか1つが必須だったみたいですが、その縛りはなくなったようです。

勉強の時点で全てをやる必要はなく、ある程度自分が本番で解きそうな問題に絞ってやるようにしました。

選び方ですが、2, 6, 9, 10, 11が文系の人が取りやすいとよく言われています。 とはいえ、結局自分の得意なものがなにかをわかるのが一番重要です。

自分の知識がなにかを知る

私の場合事前に2, 3, 4, 5, 7にしぼりました。

  1. (必須), 前にctfに友人に誘われて参加したことがあり、そのときに学んだ知識と、午前の勉強でほぼ何にでも対応できそうだったので特段の勉強はしませんでした。ctfは分野が広いのでもしやっていれば非常に有効だと思います。私が受かったのはほぼこれのおかげだと思います。


  2. 簿記2級レベルならできるのでその範囲内に収まるなら選択するようにしました。その範囲から外れてたら過去問でも捨ててました。結局見極めが大事です。


  3. ある程度のプログラム経験があれば前準備なしでもできます。細かい仕様などは問題文に書いてくれているのでそこさえ気をつければあとは慣れです。


  4. システムアーキテクチャなぞ当然構築経験はありませんが、9, 10, 11に比べ文が少なくその代わりにちょっとした計算が絡むから楽だと思って選んでいました。本番は初っ端から掛け算間違えて途中まで解いて別に鞍替えしました。


  5. ctfと午前の知識でどうにでもと思い選択。本番では選択肢わからないのがあって途中まで解いて他で点が取れそうなのがあればそっちにいって無理そうだったら戻ってくることにしました。


  6. dbは1回覚えれば簡単!文系でもできる!と喧伝されてますが、sqlを触ったことがないのでパスしました。


  7. 3と4を足したような感じで読めばなんとでもなりそうだったので選択。毎年同じパターンの問題が1つは出るので過去問を多めに対策しました。


  8. 勉強のときには目もくれていなかった分野です。本番では惰性で5が自信ないからと見たら案外行けそうだったので選択。4との違いがいまいちわかりません。


  9. ここは基本情報のときに一番嫌いな分野だったので目もくれずスルー。計画性のあるかたは是非。


  10. ぶっちぎりの文字数。読みたくないです。


  11. 午前の監査系がこまごましてて嫌いだったので見ることもなく。

実際に本番で選択したのは、2, 3, 7, 8でした。事前にある程度範囲を絞るのも大事ですが、不足の事態に対応できるようにするべきだなぁと後悔しながら解きました。

極端な話3問完答すれば、残り2問は0点でも受かるので自分の得意な分野を探すことが本当に大事です。 これを書きながら再度感じました。

勉強法

上述の通り勉強自体は午前の用意の段階で終わっているので、あとはどの分野を選ぶかを決めるだけで十分だと思います。


過去問用の参考書も売っていますが、答えも公開されているのでそれをみてわからなかったら自分で調べてそれでもわからなかったら捨てる。という戦法で問題ないと思います。

ある程度絞ったら私は、傾向を掴むために過去問数回分やりました。数回分とはいえ、本番が1回2時間半で、本番より多い範囲やっているので結構な時間がとられます。


できなかった問題について用語など知っていればできた問題を落としたのか、それとも読めばわかる問題を落としたかの分類をして、知識が足りなければひたすら午前の問題を、論理問題を落としてしまったら集中力が切れているので寝てリフレッシュしましょう。


公式HP過去問
過去問道場

気をつけるべきこと

応募の締切が早い
2ヶ月前に締めきられてしまいます。私はこれで1回分逃しました。

試験当日への身構え
お金を払ったのに4割の受験者が会場に来ないようです。ハンター試験と揶揄されています。前もって予定の都合をつけたり当日面倒にならないようにメンタルケアをしておきましょう。

長期戦である
時間通りに受けていたら休憩時間が1時間しかありません。回収時間なども考えるともっと短くなってしまいます。早めに出て気晴らしに美味しいものでも食べましょう。食べすぎると午後眠くなります(戒め)。

思ったらまとめるほど勉強してなかったし運がよかったのかもしれません。

総勉強時間は、電車で毎日見ていたので往復2時間を20日ほど、午後の過去問を4回分解いたので約10時間。あわせて50時間。

机に向かっていた時間は10時間ほどなのでこうしてみるとそれでも結構やっていたなと思うくらいの時間感でした。

Twitter・Facebookで定期的に情報発信しています!

今回はデータを分析するという点で共通する経済学やデータサイエンスについて 概要を説明し、
経済学において機械学習を使うことの難しさについて説明します。
難しさと言っても、『活用できない』と否定をするわけではありません。
あくまでも活用していくことを前提に、気をつけたい点を紹介します。


目次

  • 経済学とデータサイエンスについて
  • なぜ経済学と機械学習が議論されるのか
  • 経済学で機械学習を利用する際の注意点
  • まとめ


経済学とデータサイエンスについて

そもそも経済学は、人がどんなものを買ったり、いくら貯金をするのかといった人の意思決定について仮説を立てて考えていく学問分野です。
分析する対象が人から、人が集まった国になれば、ニュースなどで見るGDPや為替といったテーマを扱います。
このように経済学が扱うテーマは幅広く、企業の経営課題や医療など多岐に渡ります。


近年はコンピューターが進化し、以前よりも多くのデータを扱えるようになったため、経済学的な仮説のモデルを実証分析するために統計的なアプローチからパラメータの推定、検証を行う計量経済学という分野が発展していきました。
このような流れから、経済学の中にデータドリブンな考えが入ってくることで、データから未来の行動を連想することが必要とされています。

Marketing


ここで機械学習を使ったデータサイエンスが想起されます。
集めたデータに対して、機械学習という統計的な手法を使い、未来の予測や分類を行います。
扱うテーマは広く、例えば、企業が持っているデータから課題を解決したり、医療データを使ったデータ分析も行われています。

若干の違いはあるものの経済学とデータサイエンスは、扱うテーマが近しく、経済学の分野でも機械学習を取り入れることが議論されています。


なぜ経済学と機械学習が議論されるのか

経済学は前述のように、人が関わるテーマを幅広く扱います。


機械学習では、今まで手に入らなかったビッグデータのような大量のデータを分析に使えるようになり、経済学でもそれまで使っていなかったデータで実証分析しようという動きがあります。
機械学習での予測や分類が、マーケティングや株価トレードなど経済学の分野の実用に結びつきやすかったためです。
そのため経済学的な仮説をビッグデータで実証分析する際に、計量経済学ではなく機械学習を使うアプローチが議論されました。
実際に『経済セミナー』(日本評論社、2019)でも「機械学習は経済学を変えるのか?」という特集が組まれています。


経済学で機械学習を利用する際の問題点

しかし、こうしたアプローチには問題点も存在します。


経済学は前述のように仮説ベース、モデルベースで考えることが多く、実証分析の前にあらかじめ説明変数等を理論から考えることが主流です。
しかし、機械学習は特徴量(説明変数)を自由に決め、精度の高さを追求するアプローチが主なものになっています。


両者の考え方がかなり異なっており、機械学習で発見した結果を経済理論で解釈する時点で、機械学習特有の、新たな発見は失われてしまう可能性があります。
また経済学の多くの目的が、予測ではなく「なぜそうなるのか」といった因果推論をおこなってきたため、結果の解釈を説明するのが苦手な機械学習とは、もともと相性が悪い点も無視できません。

Marketing

まとめ

以上のように、仮説ベースの経済学において機械学習を使う際は、両者の考え方の違いから機械学習のもつ利点を無くしてしまったり、経済学的に解釈できないといった問題が考えられます。
そのため経済学の分析で機械学習を分析につかう際は、こうした側面があることをしっかり認識したほうが良いでしょう。
※今回は広く経済学と機械学習の考え方を説明し、応用の難しさを説明しましたが、その上で機械学習を経済学分野で応用する例は近年増加しています。


参考文献

与田高典「経済分析ツールとしての機械学習」『経済セミナー』、
2019年2020年12月号1月号、23〜27ページ
今泉允聡「機械学習はデータを解釈できるのか?」『経済セミナー』、
2019年2020年12月号1月号、34〜39ページ


アクセルユニバースのご紹介

私達はビジョンに『社会生活を豊かにさせるサービスを提供する。』ことを掲げ、このビジョンを通して世界を笑顔にしようと機械学習・深層学習を提案しています。
例えば、現在人がおこなっている作業をシステムが代わることで、人はより生産性の高い業務に携わることができます。


当社ではみなさまの課題やお困り事を一緒に解決していきます。
下記にご興味がありましたら、問い合わせ口からご連絡ください。

  • 大量にデータはあるが活用方法に困っている
  • 機械学習・深層学習は他になにが出来るのか興味ある


Twitter・Facebookで定期的に情報発信しています!

もくじ

  1. 因果推論とは何か
  2. 交絡とは何か
  3. 交絡の調整法
  4. 因果推論の例
  5. まとめ
  6. 参考文献

1. 因果推論とは何か

因果推論とはある要因の間に因果関係があることを推論することである。因果推論をするための手法は多岐に渡るが、その前に因果関係について説明をしておく。

因果関係とは2つの要因が原因と結果という関係性で結びついていることである。これは原因となる要因が変化することで結果もまた変化する関係性にあることを示している。原因がA、結果がBであるとき、以下のような因果関係となる。

Alt text

ここで注意しておきたいのが、相関関係と因果関係の違いである。相関関係は2つの変数がどちらか一方が大きければ、もう一方もまた大きい(または小さい)かどうかというデータの「あり方」について述べているのに対し、因果関係には原因となる変数と結果となる変数があり、それは「原因に対し介入を加えることで結果が変わる」ものを指す。

つまり、相関関係があるということだけでは因果関係があるとは言えず、またどちらの変数が原因なのか、あるいは結果なのかを説明する根拠にはなりえないのである。因果推論は先に述べた相関と因果の取り違いのような因果関係の誤謬に注意して原因と結果を推論する行いだと言える。

2. 交絡とは何か

因果推論を説明する上で重要になってくるのが交絡である。交絡とは以下のような因果の構造を指す。

Alt text

上のような2つの要因の両方に影響するものを交絡因子と呼ぶ。この交絡因子Cが要因AとBの両方に影響することで、あたかもAとBが因果関係を持っているように思えるのである。

因果関係を正しく推論するためには、この交絡に対処する必要がある。観察されたデータに相関関係がみられるとき、それが因果関係によるものなのかあるいは交絡因子の影響によるものなのかを何かしらの方法によって区別しなければならない。

そのために交絡因子の調整を行い、その影響によって差が生じることを防ぐ必要がある。これは交絡因子の影響を固定し変化しないようにすることで、原因と結果だと思われる要因の関係を検討することである。3節では実際に行われる交絡の調整法について述べる。

3. 交絡の調整法

交絡の調整には様々な手法が存在するが、ここではその中でも広く使われているランダム化比較試験と層別解析の2つの手法について説明する。

ランダム化比較試験(RCT)

ランダム化比較実験(randomized controlled trial, 以下RCTと呼ぶ)とは原因と考えられる要因を変化させながらその結果の変化を見ていく中で、その結果の差を見るために介入を行うかどうかを無作為に行うことである。

具体例を挙げて示そう。ある医薬品Aを服用するかどうかによってその対象者の血糖値Bが下がるかどうかを考える。このとき、医薬品Aを服用するかどうかは無作為に決められなければならない。より詳しく言うならば、医薬品Aを服用するグループと服用しないグループで、その他の要因の偏りが生じてしまってはいけないのである。このグループ間の偏りが交絡因子の影響によるものだと考えられ、交絡因子として実験を行うときに知っている要因もあれば、全く知らない未知の要因も存在する。

しかし、このRCTを行い無作為に対象者を選ぶことで、既知の要因も未知の要因も2つのグループ間で平均的に同じぐらいにすることができる。つまり、交絡因子による影響を同程度にしながら医薬品Aの効果、つまり血糖値Bが低下するかどうかという因果関係を知ることができるのである。

層別解析

実験研究においてはRCTは可能であったが、介入の無作為化が困難な場合がある。例えば喫煙者と非喫煙者との間で喫煙の有無による影響を測定するときに、対象者ごとに喫煙するかどうかを実験をする者が決めることはできない。そうした際に、喫煙者と非喫煙者のそれぞれの特徴には偏りが生じると考えられる。

このようなデータに対する手法として層別解析が挙げられる。層別解析とは交絡因子として考えられる特徴について、その特徴が同じ水準のサンプルごとに層として分けて解析を行うことである。これにより、分けられた層の中では特徴が似通っている、つまり交絡因子の影響が同程度になるので正しい推論が可能となる。

この他にもマッチングや回帰モデルを用いた分析、傾向スコアを用いた分析などが存在し、それぞれ交絡因子の影響を調整する手法として広く使われている。

4. 因果推論の例

現在、因果推論は経済学や社会科学、心理学や臨床医学など多岐に渡る分野で応用されている。この節ではそんな因果推論の利用を身近な例からいくつか紹介したいと思う。

偶然の関係

「ニコラス・ケイジの1年間の映画出演回数」と「同年の水泳プールでの溺死者数」には相関関係があるという結果が示されている。しかし、常識的に考えればこの2つの要因には因果関係はない。このようなあからさまな例では誰しもが因果関係は無いことに気づくが、相関関係のあるデータには常にこの問題がつきまとう。

擬似的な相関関係を見て要因間のありもしない因果関係を「でっちあげ」ていることが、我々の生活の中で行われていることが意外にも多いのである。このような間違いを回避するためにも、因果推論の考え方は重要である。

交絡因子による影響

「子供の体力」と「子供の学力」に相関があるというとき、どのように結論づけるべきだろうか?体力と学力の間には因果関係はあるといえるのか?

前の節でも述べたように、2つの要因の相関性が別の交絡因子によるものであることがある。今回の場合、「親の教育への関心の高さ」を考えるとどうだろうか。教育に関心の高い親は、子供の体力作りに熱心であると同時に、学力向上にも力を入れていることが多いであろう。

つまり、「親の教育への関心の高さ」が交絡因子となり「子供の体力」と「子供の学力」に影響して相関関係が現れていると考えられる。因果推論する上で交絡を見つけ出すことも重要となる。

因果の向き

因果推論をする際には、因果関係があるということが言うだけでなく、その向きについても正しく推論するべきである。「アイスクリームが売れる」から「気温が高い」のではなく、「気温が高い」から「アイスクリームが売れる」と考えるのが自然である。

ただデータを見るだけではどちらの要因が原因で、どちらの要因が結果になるのかという「因果の向き」の推論を行うことは難しい。要因間の関係を慎重に解析し、因果の向きを取り違えないように推論する必要がある。

5. まとめ

今回の記事では、以下の事柄について述べた。

  • 因果推論について
  • 交絡とその調整法について
  • 実生活の中での因果推論の例

因果推論の手法には、まだまだ紹介しきれていないものもある。また、データから正しい推論をするデータサイエンスの領域では、今後も因果推論の考え方は重宝されていき、より発展していく分野だといえる。

6. 参考文献

  • 中室 牧子, 津川 友介『「原因と結果」の経済学―――データから真実を見抜く思考法』, ダイヤモンド社, 2017
  • 岡本 厚『岩波データサイエンス Vol.3 特集 因果推論― 実世界のデータから因果を読む』, 岩波書店, 2017
  • 星野 崇宏『確率と情報の科学 調査観察データの統計科学 因果推論・選択バイアス・データ融合』, 岩波書店, 2017


Twitter・Facebookで定期的に情報発信しています!

本記事では以下のような使い方ができるチャットボットを紹介します。
スクリーンショット 2019-12-24 16.53.21.png


2019年に施行された働き方改革関連法により、残業時間の削減や多様な働き方が認められました。
今後も多くの人にとって働きやすい環境に変化し、さらに多様な働き方になることが予想されます。
そのため、現在は『業務時間を減少させつつ、利益は向上させる』生産性向上が求められています。
生産性向上のために業務を効率化し、無駄な業務時間をなくし、より利益を創出する活動に業務時間を充てることが重要です。


機械学習・深層学習はこのような作業を得意とします。

スクリーンショット 2019-12-24 16.34.51.png


チャットボットでできる業務効率化

今回は特に業務効率化に役に立つ『チャットボットでお客様問い合わせ対応事例』をご紹介します。
チャットボットは同じ作業を早くくり返すことを得意としていて、質問内容とその回答を事前に学習させておくことで、まるで人と会話しているかのように、ユーザーが入力した文言に対して適切な回答を返します。
スクリーンショット 2019-12-24 16.38.07.png


例えば、こんなシーンはありませんか?
ーーーーーーーー
お客様から電話やメールで問い合わせが多く、対応が追いついていない。
膨大な問い合わせ対応業務により本来おこなうべきのコアな業務にも影響が出ている。業務時間が増えるだけではなく、回答が滞ることによりお客様にも迷惑がかかり、機会損失にもなりかねない状態。
ーーーーーーーー


特定の製品についての金額の質問など、問い合わせの多くを似た内容が占めていませんか?そうであれば、機械学習・深層学習の得意な業務です。


お客様問い合わせ業務をチャットボットで実現!

お客様への回答を自動返答することができれば、問い合わせ担当者の業務負担は大きく軽減します。それだけではなく、お客様をお待たせすることなく、必要なタイミングで情報を伝えることができます。
そうすることで、担当者はよりコアな業務に集中できるようになり、売上向上や社内環境改善などのさらなる利益にもつながるでしょう。


また、チャットボットへの問い合わせは、資料請求やメールでの問い合わせのように、個人情報を入力する必要はありません。
そのため、ユーザーは気軽に質問ができ、さらには営業時間外でもチャットボットが質問に答えてくれます。
このようなユーザーにとって快適な体験で購入前にも顧客の満足度が高まるだけではなく、顧客との接点が増えることで信頼性の向上や商品・サービスの認知度アップにもつながります。


さらに、多くのチャットボットはコミュニケーション内容をデータとして残すことができますので、幅広いユーザーのニーズを把握することも可能です。
このようなユーザーのニーズからチャットボットの回答やサイトの情報を改善したり、商品・サービスの改善につなげたりすることも可能になるのです。

その他活用例

問い合わせ対応だけではなく、このような使い方もできます。

スクリーンショット 2019-12-24 16.45.06.png

社内ヘルプデスク

問い合わせがあるのは、お客様からだけではありません。社内から情報システム部や総務部への問い合わせは毎日発生しています。
日々の問い合わせは軽微で同じようなものが多く、チャットボットで問い合わせから回答までを完結させてしまうことができます。
問い合わせをする側も気軽に利用でき、確認不足によるミスを減らすことも出来るでしょう。


「なぜ?」原因の特定

上記2つの事例からチャットボットは、相手と会話するようにシステムとやり取りできるサービスです。ここの『会話』に着目し、原因の特定に活用することもできます。
例えば、ミスが発生した際の原因特定。
報告書を提出し、上司との会話で原因を発見し、今後の対策を決めていきます。
この会話をチャットボットでおこなうことで、スピード感のある原因の特定がおこなえます。また、(本来あってはならないのですが、)当事者は上司ではなく、システムと会話するわけですから、より素直な回答をすることができ、正確な特定がおこなえるでしょう。


ユーザーへのレコメンド

ユーザーが好みや生活習慣を入力することで、ユーザーに適切な商品をおすすめすることができます。
例えば、化粧品は人の好みが大きく分かれるだけではなく、流行りの移り変わりも大きく、化粧品購入の際は、ユーザーは悩み、今までと同じものを購入することで妥協することも少なくはありません。
チャットボットを活用すると簡単に、どこでも、自分にピッタリの化粧品を見つけることができます。


おわりに

チャットボットは業務効率化を進めることはもちろん、幅広い活用方法があり、お客様ごとにぴったりな活用方法をご提案いたします。


当社ではみなさまの課題やお困り事を一緒に解決していきます。
下記にご興味がありましたら、問い合わせ口からご連絡ください。

  • チャットボットについてもっと詳しく知りたい
  • 困っていることを相談したい
  • 機械学習・深層学習は他になにが出来るのか興味ある


アクセルユニバースのご紹介

私達はビジョンに『社会生活を豊かにさせるサービスを提供する。』ことを掲げ、このビジョンを通して世界を笑顔にしようと機械学習・深層学習を提案しています。
例えば、現在人がおこなっている作業をシステムが代わることで、人はより生産性の高い業務に携わることができます。


Twitter・Facebookで定期的に情報発信しています!


目次

        

はじめに:Fairness in Machine Learningとは

皆さんに質問です。"Fairness(公平性)"とは何でしょう?


では、次の質問です。機械学習や使われるデータは"Fairness(公平性)"が担保されているでしょうか?


題名のFairness in Machine Learningとは『機械学習における公平性』を表しています。


機械学習や統計データと聞くと世間的には『データを使った結果(相関・因果関係、予測モデル) だから信頼できる!』と感じている方も多くいると思います。残念ながら、その考えは正確ではありません。なぜなら、データは『嘘を付くから』です。


加えて、機械学習や統計は完全に"objective(客観的)"だと考えられているかもしれませんが数字で表しても、数学を駆使しても、故意であろうとなかろうと、客観的とは限りません。


2018年アマゾン社(以下、アマゾン)のAI採用を例に見てみましょう(※同社は既にこの採用システムを打ち切っています)。アマゾンはコンピューターに過去の履歴書を学習させ、優秀な人材を採用していました。具体的には点数をつけどの人材がアマゾンにとって最適かの判断を基に採用活動を行いました。


しかしながら、技術関係の職種においてそれまでの多くの応募者(採用者)は男性だったため、AIが女性、もしくは、女性という単語が履歴書に入っているだけで減点の対象になっていました。その結果、数名の女性応募者は選考に落ちてしまいました。


もちろん、アマゾンはこれだけを採用の判断材料とはしていなかったでしょうが、結果としてAIが女性に対して不利な判断を導き出す結果になりました。


以上の例は機械学習における『バイアス』の一部です。データが既にバイアスを含んでいれば、相関関係や予測モデル構築の際にもその影響が出てきます。またデータに含まれるバイアスだけでなく、差別や機械学習モデルの公平性なども予測モデル構築、及び、その解釈に影響します。


この"Fairness in Machine Learning"に関する議論は機械学習技術が注目される前から存在していました。近年、その技術の発展とともに今機械学習界で最もホットなトピックの1つです。今回はそんな注目の話題を、Mehrabi氏達による論文"A Survey on Bias and Fairness in Machine Learning"(2019年9月公表)に基づき説明します。


まず、データにはどのような『バイアス』が含まれている可能性があるのか見ていきましょう。


データとバイアス

bias          

Mehrabi氏達はデータ変数特有の不均一性がバイアスを生じさせる、と述べています。御存知の通り、各データは多種多様な要素・手法を使って集められています。データの多様さに伴い、バイアスにも多くの種類が存在します。


Mehrabi氏達は同論文中にその他の研究を引用し23個ものバイアスの種類を挙げています。全部列挙し、説明すると膨大な量になるためいくつかに絞って紹介します


バイアスの種類

  • Historical bias(歴史的バイアス)

  • この歴史的バイアスはSuresh氏とGuttag氏による論文の中に登場しました。同氏達が最初に挙げた歴史的バイアス、簡潔に言うと、これまでに起こった出来事(歴史)が欲していない結果を生じさせることを意味しています。


    同氏達が例に挙げたのは"crime(犯罪)"です。欠点のない完璧な定義を『犯罪』に与えたとしましょう。そして犯罪率などのデータを分析した際、より貧しい住民ほど犯罪に手を染める、と結果が出たとします。


    結果を視た人は潜在的に『貧しい人は犯罪に手を染める』と考えてしまうようになります。これが歴史的バイアスです。


  • Population bias(人口バイアス)
  •          

    人口バイアスとは対象データが各グループ内においてデータ分布や数などが異なっている状態です。例えば、Hargittai氏は、どんな要素が人々の使用するSNSの種類決定に影響を及ぼしているかについて研究を行いました。


    その結果、人種、民族、若者に至っては両親の教育レベルなどによってSNSのユーザー層が異なると結論付けました(例:若者ユーザーの両親が経済的に豊かであればFacebookを使う傾向がある 等)。


    例えば、絶対的貧困層の需要(社会保障、教育 等)をFacebookを使い調査するとします。しかし、Facebookユーザーにはそれほど貧困に苦しんでいるユーザーはいません。もちろん、相対的貧困に苦しんでいる人々はFacebook上でも存在するでしょう。しかしこの例の調査は"絶対的"貧困層であり、相対的貧困層ではありません。


    したがって、上記のようなFacebook調査でもし仮に十分な数の意見が集まったとしても、それは絶対的な貧困層に対する間違った分析結果を導きかねません。


    このようにデータ分布に偏りがあれば、もちろん、それを使った分析は間違った予測を導き出してしまいます。


  • Cause-effect bias(因果バイアス)
  •          

    因果バイアスとは相関関係と因果関係を一緒だと考えることです。Mester氏はある記事に説明しているように、2つ(ないしはそれ以上)の要素が相関関係にあったとしてもそれらがいつも因果関係には至るとは限りません。


    同氏はECサイトのloyaltyメンバーを例に出しています。Loyaltyメンバーの顧客はLoyaltyメンバーでない顧客の5倍、購買しています。この結果Loyaltyメンバープログラムが成功したと結論づけても問題ないでしょうか?


    Loyaltyメンバーの顧客が同メンバーシップに興味があったのは間違いありませんが、そもそもLoyaltyメンバーになるような顧客はメンバーでなくてもその他の顧客に比べて5倍の金額の消費をしていたかもしれません。


    これ以外にもSocial bias(社会的バイアス)やPopularlity bias(人気バイアス)などその種類は様々です。参考文献からいくつか選んで読んでみてください。


      "Discrimination"(差別)とは?

      discrimination          

      この記事のタイトルは"Fairness in Machine Learning"なので、機械学習における"Fairness"(公平性)とは何なのかを述べなければなりません。


      しかし、当記事の基になっているMehrabi氏達の論文では、先にその対義語である"Discrimination"(差別)について論じています。そのためそれに習いまずはどのような種類の差別があるか見ていきましょう。

      差別の種類

      • Direct discrimination(直接的差別)

      • 直接的差別とは当人がどうしようもない要素によって望ましくない結果(面接や履歴書での不合格など)を受け取る状況です。


        例えば、とても優秀な1人の女性がある会社に従業員として働くために応募するとします。しかしその会社は彼女が女性であるため雇いませんでした。


        このように明らかにその人物には落ち度がない(能力や対人面接能力などに問題がない)にも関わらず、女性であるだけで雇われないのは明確な直接的差別です。


      • Indirect discrimination(非直接的差別)

      • 非直接的差別とは公平性が担保されているような要因が結果として差別を引き起こしている状況です。


        例えば、郵便番号。郵便番号は住所さえあれば誰でも平等に手に入ります。しかしそれは差別を引き起こす可能性を含んでいます。なぜでしょうか?住所によって振り分けられる郵便番号は、言い換えれば、人々が住んでいる地域を判別します。


        周りから疎まれているある特定の人種の人たちがどの地域に住んでいるか判別可能なため、ローンを組む際にその人種には許可を出さないなどもできてしまいます。このように一見、公平に見えるものからの間接的な差別の誘発を非直接的差別といいます。


        他にもSystemic discrimination(構造的差別)、Statistical discrimination(統計的差別)等が存在します。


      "Fairness"(公平性)とは?

      fairness          

      バイアスとは何か、差別とは何かの説明後、Mehrabi氏達はFairness(公平性)について様々な論文を基にまとめています。全部で10個も存在するためいくつか筆者が選んで紹介します。


      Fairness(公平性)の定義

      • Equalized odds(等しい確率)

      • 機械学習モデルによって導き出される答えが、センシティブ属性(人種、国籍、性別 等)による影響を受けない状態です。全員が等しくTrue positiveとFalse positiveの確率を受け取ることを指します。センシティブ属性について当記事では割愛していますが、参考文献からご覧いただけます。


      • Equal opportunity(機会均等)
      •  

        これも1つ目と類似しており、機械学習モデルによって導き出される答えがセンシティブ属性による影響を受けない状態です。全員が等しくTrue positiveの確率を受け取ることを指します。


      • Demographic parity
      •                                           

        センシティブ属性に関わらず、予測される結果(positive outcome)の確率は同じでなければなりません。

              

      この他にも様々な定義があります。ただこれもバイアスの種類と同様、膨大な数が紹介されているので全部は紹介しませんでした。

                             
                             

      まとめると、筆者の解釈は、機械学習モデルによって導き出す答えが個人のステータスやバックグラウンドに左右されない状態をFairness(公平性)だと考えています。


              

      Fairness in Machine Learningがなぜ重要なのか、Mehrabi氏達は論文内で議論しています。Fair(公平)でないデータやモデルを利用すれば、潜在的にある特定の人々が被害を受けるかもしれません。例えば、ある町で貧困に喘ぐ人と窃盗犯罪率が相関関係にあるとします。ここで機械学習において貧困者だから窃盗犯に違いない、もしくは、窃盗犯の確率が高いと結論付けられしてしまえば、そこにはFairness(公平性)は存在しません。


              

      このような問題は人々の潜在的差別意識にも働きかけてしまいます。貧困者=犯罪者と誤認してしまい貧困者に対する差別がより強まるかもしれません。短格的な考えに至ればホームレスに対する殺人を正当化するなど、間違った解釈をしてしまう可能性も否めません。


              

      私たち人が偏見や差別意識を持っているように、機械学習においても同じ問題が起こります。それらを極力防ぐために研究者や機械学習に精通する人以外もデータや予測モデルにおける差別やFairness(公平性)を認識することが重要ではないでしょうか?

      機械学習モデルをどのようにFair(公平)にするか

      fair         

      では、バイアスや差別をなくし、機械学習モデルにおいてFairness(公平性)を実現するにはどうすればよいでしょうか?


      同論文内では3つの方法(段階)が示されています。またこれに伴いMehrabi氏達は基本的な機械学習技術を例示しています。

      Fairness(公平性)のためのデータ処理方法

      • Pre-processing(前処理)

      • 差別がなくなるようにデータを編集します。前処理テクニックの特徴量作成、データ分類、次元削減(PCA)などが当てはまります。下記論文にデータの"Discrimination(差別)"を無くすための方法、その基となるアルゴリズムが書かれています。オープンソースなので興味のある方はぜひ一読してはいかがでしょうか?

        Kamiran and Calders, T. (2012) "Data preprocessing techniques for classification without discrimination"


      • In-processing(処理中)

      • データ処理中において差別を無くすような関数などをモデルに組み込みます。また関数だけでなくデータ分類や適した回帰モデルの使用によってFairness(公平性)の実現に近づきます。


      • Post-processing(後処理)

      • トレーニングデータに関与しないデータセットにのみ行う処理です。最後のpost-processingに関してはあまり意味を理解できませんでした。下記の論文が例のようですが、pre-processingやin-processingとあまり変わらない気も...。

        Hardt, M. *et al*. (2016) "Equality of opportunity in supervised learning"

        Pleiss, G. et al. (2017) "On fairness and calibration"


              

      恐らく、機械学習モデルが割り当てたラベルが適切でない場合の(例えば、カテゴリカル変数であるべきデータが連続変数になってしまっているので適切な変数を割り当てる)処理の仕方だと思います。加えてモデルが出した結果の可視化(visualization)なども含まれるそうで、幅広い意味でモデルが適した結果を出しているか確認する方法のようです。


              

      Mehrabi氏達はこれらの説明をした後、詳細な手法やどのモデルにどの操作を加えるといいかを提案しています。当記事では文字量や複雑さの関係から扱いませんが、興味のある方は同論文に目を通してみてください。25ページほどの論文でかなり読み応えがあります。


      おわりに

              

      "Fairness in Machine Learning"についての議論は機械学習やAIが浸透するに伴い、避けては通れません。


      『機械学習』と聞くと技術の問題やセキュリティの問題などがよく目に付きます。筆者の個人的意見ですが、そこにはデータや機械学習の判断が完璧である、という奢りが存在しているのではないでしょうか?


      データや機械学習を批判しているのではなく、それらはありとあらゆる問題点(注意すべき点)を含んでいると人々が自覚すべきだと考えています。なぜなら、冒頭でも述べたように全てのデータや予測モデルが客観性を担保しているわけではないからです。


      皆さんもこの機会に機械学習とFairness(公平性)について考えてみてはいかがでしょうか?


      参考文献、リンク

      Hardt, M. *et al*. (2016) "Equality of opportunity in supervised learning"

                             

      Kamiran, F. and Calders, T. (2012) "Data preprocessing techniques for classification without discrimination"


      Mehrabi, N. *et al*. (2019) "A survey on bias and fairness in machine learning "


      Pleiss, G. *et al*. (2017) "On fairness and calibration"


      Suresh, H. and Guttag, J. V. (2019) "A framework for understanding unintended consequences of machine learning"


      Statistical bias types explained - part2 (with examples)


      焦点:アマゾンがAI採用打ち切り、「女性差別」の欠陥露呈で



目次

はじめに:機械学習の社会実装

『機械学習』という言葉を聞いて何を思いつきますか?自動運転、顔認証、AI...。さながら映画のような世界が訪れるとワクワクしている人、その一方で「AIが人間の仕事を奪う」と憂いている人もいるでしょう。


目覚ましい機械学習技術の発展とともにメディアなどで盛大に取り上げられているため「機械学習(主にAI)を使えば何でもできそう!(もしくはできてしまう...)」と思っている方もいるのではないでしょうか?


しかしながら、機械学習は魔法ではありません。機械学習はそのアルゴリズムやディープラーニングを駆使し人間の脳の認識能力を模倣したり、計算処理を行っています。「機械学習、ディープラーニングとは?」と思った方は下記の記事を参照にしてください。特に機械学習についての2つはわかりやすくて概要を掴むのにぴったりです。





筆者は『機械学習技術は社会実装できる』と考えています。社会実装とは、社会技術研究開発センター(JST)が提唱した「社会の問題解決に資する研究開発成果の社会実装活動」を意味します。要するに技術を社会問題の解決に活用することです(例:介護ロボット、きゅうりやその他野菜の判別機 等)。ここでは社会問題の解決というよりも、私たちの日常生活に機械学習が実装される(根付いていく)という意味で使います。



機械学習技術の日常生活への実装、聞こえはいいのですがそれには予想外の弊害がいくつか存在します。1つ目は社会システムの問題。簡単に言えば機械学習技術に関する法律や有事の際の対処法などです。2つ目は使用者側の問題。後で例示しますが、技術の発展に人々の認知が追いついていないことを指します。そして3つ目が使用者と開発者も含めた人の問題。機械学習は絶対的な答えを見つけるものではなく、数ある選択肢の中から人にとって『より良い』ものを取ります。では『より良い』とは一体どういう意味でしょうか?


当記事はこの問題に直接的な答えを提示するものではなく『機械学習技術を社会、あるいは、日常生活に活用する』には何が問題になっているか?、という疑問を投げかけるものです。基本的に筆者の興味・関心に基づく分野に寄っているので悪しからず。


それでは機械学習に関する疑問を小見出し毎に分けているので、一緒に考えてみましょう。


日々の話のネタになれば幸いです。


自動運転は実現可能か?

機械学習""          

自動運転(車)が実現すればSFの世界のようでしょう。ここでの自動運転とは運転者がハンドルを持たなくても目的地までたどり着くことのできるような、完全自動運転を指します。今でも多くの車に走行中、障害物を検知して減速・停止するアシスト機能が付いていますが、当記事ではこれらは扱いません。

        
         

現在、フォルクスワーゲン社やフォード社が業務提携を結ぶなど世界の企業がこぞって自動運転車の開発に投資しています。しかし、自動運転車の開発、及び、社会実装には多くの問題が付随します。

        
        

1つ目は技術の問題。2016年に起きたテスラ社製の自動運転車での死亡事故は運転手の警告無視が原因と言われています。しかし2019年、ウーバー社の自動運転車が引き起こした死亡事故は交通ルールを無視した歩行者を車が認識できなかったため発生しました。このような問題は技術の発展とともに解決するでしょう。しかし、技術が発展した後に完全自動運転車が開発されても2つ目の問題が発生します。         
        

それは法律です。もし仮に自動運転車が事故を起こした場合は賠責補償はどうなるのでしょう。例えば現行の日本の法律では、事故を起こした際、運転者が賠償責任を負うと定められています。言い換えれば、人が車を運転する場合、運転者は『運転している人』なのでそこに賠償責任が生じます。では、完全自動運転車の場合、運転者は誰になるでしょう?運転席に座っていた人、もしくは、該当車の自動運転システムを開発した企業でしょうか?現段階ではこの責任の所在が非常に曖昧です。

        
        

また、少し話は違いますが、自動運転に際し大きな議論になっているハッキング問題が発生した場合はどう対処されうるのでしょうか?自動運転を可能にするネットワークを誰かがハッキングできれば、テロの武器に最適な技術になってしまいます。

        
        

不明瞭な部分が今後どのように明文化されるのか、みなさん気になるところではないでしょうか。いざとなった時の処置方法が曖昧なままであなたは喜んで自動運転車を使用しますか?

        

人間は機械学習技術を使いこなせるか?

機械学習""         
        

機械学習の社会実装において憂慮すべきは技術や法律だけの問題ではありません。機械学習の『使用者』にも問題は存在します。


アメリカ・ミシガン州フリント市の水道管施工の例を見てみましょう。同市では水道管に使用された素材が原因で深刻な水質汚染が発生していました。状況を深刻に捉えた科学者たちがGoogle社から支援を受け、どこの水道管を調査すべきか予測モデルの作成を行いました。しかしながら、市と施工会社はそのモデルを使用しませんでした。原因は施工会社のモデルの解釈に関する知識不足や、市長が住民からの支持を保つために行った政治的行動、予測モデルにより調査対象から外れうる住民の理解などが挙げられます。


ここで「無知は悪だ」、「政治は汚い」、「データ解釈ができないのは教育格差だ」なんてことを言いたいのではありません。あくまで主張したいのは、『いくら機械学習(もしくは、AI)技術が発達しようともそれを使うのは人間である』ということです。


使用者側が機械学習技術の使い方を理解していない、また、拒絶したりすれば、その技術は無駄になってしまいます(無論、無駄な技術や研究などない。のですが)。この例からわかるように機械学習の社会実装は、機械学習やデータ分析の知識を持ち合わせている人だけで成り立つものではありません。開発者側だけでなく、使用者側も機械学習に何ができて何ができないのかある程度理解しておくべきでしょう。


得体のしれない不気味で無機質な機械学習、ではなく社会問題や日々の生活で活用できる機械学習として周知するためにはどうすればいいでしょうか?


機械学習の判断を人は受け入れられるか?

機械学習""
         

冒頭で述べたように機械学習技術はめざましい発展を遂げています。その精度はますます上がり、応用される分野も拡大していき私たちの生活の中に深く根付いてきています。


しかし、どんなに機械学習技術が発達しても予測精度や正解率は100%にはなりません。もちろん生身の人間がおこなうより精度や計算速度が高くなるのは疑いようがないのですが。では、その100%ではない答えに多くの人は自身の選択を委ねることができるでしょうか?もしかすると、機械学習で出した選択肢は感情を排除しているためより客観的な判断が可能になるかもしれません。


そもそもデータには常にバイアスがかかっているので客観性については議論の余地があります。長くなってしまうので、後日別記事で同問題について書きます。


しかし、その正確性が100%でない以上、間違った判断をする可能性は0にはならないでしょう。


果たしてそれを多くの人たちは受け入れられるでしょうか?


自動運転の例で言えば、事故を完全に防げない完全自動運転バスに毎日乗るであろう老人は快く受け入れるでしょうか?フリントの例で言えば、ある地域の何十件かの家でたとえ80%の確率で問題ない水道管が使われていたと予測され、施工をしないと判断されたとします。果たして、そこに住む幼い子どもを持つ両親はその判断に納得するでしょうか?


人間が意思決定を行う際には感情や経験等、主観的な要素が入ります。そのため客観性でいえば機械学習を使った方がより合理的な判断をできるかもしれません。しかし、もし万が一、機械学習がその予想を外した場合はどうでしょう。


例えば、自身が乗っている完全自動運転車が事故に遭い後遺症が残ってしまいました。あなたはもう歩くことができません。あなたは「人間より精度の高い機械学習が判断したんだから仕方ない。」と自身の気持ちに折り合いをつけるでしょうか?水道管が施工されないと判断された地域に住んでいて、あなたの家族が何か重大な病気にかかってしまいました。「機械学習は完璧じゃないから仕方ない。」と疑いもなく言えるでしょうか?


『より良い』とは?

機械学習
   

最後に機械学習と人間の価値観・倫理観について議論を投げかけたいと思います。

  

繰り返しになりますが機械学習は数ある選択肢の中から『より良い』判断を下します。しかし、その『より良い』という判断をどうやって下すのでしょうか?これは予測精度に対する問いではなくて、何を持ってして、誰にとっての『より良い』なのか?という問いです。

     

Irving and Askell (2019)の"AI Safety Needs Social Scientist"によると、 そもそも 'better or worse' の受け取り方は人の価値観や倫理観によって異なるとあります。したがって、当著者達は機械学習の研究とともに、人そのものを対象とする研究も必要と述べています。

     

価値観や倫理観は個人の置かれてきた環境や信仰する宗教等、多くの要素によって左右されます。そのためすべての人に共通する『普遍的価値観』なるものは存在しません。例えば、有名な。これに対する答えは人それぞれなはずです。何が『より良くて』『正しい』のかという答えが明確でない以上、人の価値観や倫理観を機械に学習させることは果たして可能なのでしょうか?


Irving and Askell(2019)は機械学習側だけでなく人間側にも問題があり、人間自身も自分の持つ価値観や倫理観を説明できないと述べています。つまり、機械学習で使うデータに人間自身も説明できない概念が含まれてしまいます。


『より良い』という曖昧な概念、しかも、人もそれを説明できない。となると、人の価値観や倫理観に左右される事柄を機械学習を使って解決することはできるのでしょうか?


おわりに

 

機械学習技術は日々発展しています。上記で挙げた技術的問題は近い将来問題ではなくなるでしょう。しかし、それ以外の使う側の問題や、そもそも、人の価値観の違いなど機械学習で扱うべきかそもそも疑問を持つものもあります。


くどいようですが、機械学習は魔法ではありません。


使用者がその技術を使いこなせたとき初めてその価値を発揮するのではないでしょうか。機械学習は魔法でない故に全ての問題を『完璧』に解決できるわけではありません。あくまで、『より良い』選択を実行・提案するだけです。


そして、その『より良い』という判断基準も人の価値観・倫理観に基づくため決して『完璧』にはなりません。


世の中には機械学習やAIについて様々な記事や書籍が溢れています。明らかに嘘と判断できるものや不安を煽るものも数多く存在します(この記事ももしかすると嘘を述べているかもしれません)。それがすべての原因ではありませんが、人々を機械学習から遠ざけている一つの要素ではないでしょうか。機械学習を社会に役立てるようにする(社会実装する)には技術面の発達だけでは十分ではありません。それには使用者側も機械学習について知り、その技術を受け入れ、使いこなすための土台が必要となります。


当記事は数多く存在する機械学習に関する問題の解決方法を提案するものではありません。


『機械学習とは何なのか?』を知る際に一緒に機械学習の問題点や限界値なども知っておけば、よりその学びが楽しくなるのではと思い書いた次第です。


この機会に当記事内で投げかけた様々な問題点について、機械学習に精通する人や興味のある人はもちろん、機械学習に興味がない人、機械学習を忌み嫌っている人とも、話してみてはいかがでしょうか?


参考文献、サイト

         

ウーバーの自動運転車事故、交通違反の歩行者を認識せず AFPBB


国立研究開発法人科学技術振興機構


フォードとVW、業務提携を自動運転とEVに拡大 日経新聞


Irving, G. and Askell, A. (2019) "AI safety needs social scientists", Distill .


Madrigal, A. C. (2019) "How a feel-good AI story went wrong in Flint", The Atlantic , 03 Jan.


画像引用サイト(フリー素材)

         

PAKUTASO

         

photoAC

もくじ

機械学習の概要

  機械学習とは与えられたデータからデータに潜む規則性を自動的に発見し、データの分類や未知のデータの予測をコンピュータの計算手法を利用して行うことである。データから予測を行うとき、扱うデータによっては膨大な規則を用いたり、人力では見つけることの難しい規則が存在したりするので、人間だけでは予測が困難な場合があるが、それをコンピュータの計算に落とし込むことで予測が容易になる。機械学習を用いてデータの予測を可能にすることよって、以下の例のように私達の生活の中で大きな役割を果たしているのである。

  • 工場の製造ラインでの不良品検出
  • 株価の予測
  • ECサイトでのレコメンド機能

人工知能と機械学習の違い

 機械学習と並べて話題に出されるものとして、人工知能が挙げられる。人工知能とは人間が行っている言語理解や推論、問題解決などの知的な活動をコンピュータに行わせる技術である。人工知能と機械学習は、一見すると同じようなものに聞こえる。しかし、機械学習はある特定の分野においてデータに基づいて予測の結論を下すため、人工知能における人間の知的な活動のすべてを網羅しているわけではない。つまり、人工知能の一つのトピックとして機械学習が位置づけられる。 AIと機械学習の関係性

機械学習の種類

機械学習は主に以下の3種類に大別される。

  1. 教師あり学習
    教師あり学習とは予測するものの正解が分かっているデータに対して未知のデータの予測をする機械学習である。教師あり学習の中にはデータをカテゴリ別に分ける決定境界を引く分類と、カテゴリではなく、入力のデータからどのような値をとるか予測する回帰モデルを求める回帰の2種類の方法が存在する。工場の生産ラインで、部品の形状などから不良品かどうか判別するのは分類であり、今までの株価の変動から将来の株価を予測するのは回帰だと言える。 教師あり画像

  2. 教師なし学習
    教師あり学習に対して、教師なし学習正解の無いデータから情報を見つけることを目的とする機械学習である。教師なし学習はデータのみからグループ分け(クラスタリングなど)やデータの次元縮減(例えば、空間上の3次元のデータを平面上の2次元のデータとして写すなど)をすることで、データの隠れた構造を見つけ出す手法と言える。ECサイトでの顧客の購買行動から、一緒に買われているものを見つけ出して提案するレコメンドは教師なし学習である。

  3. 強化学習
    強化学習エージェントと呼ばれるシステムと環境とがやり取りをすることで行われる機械学習である。エージェントは何かしらの行動をすることによって環境から報酬を得ることができ、この報酬が最大になるように自身のシステムを改善していく 。ラベルや値などの決まった正解は無いが、エージェントの行動の出来を数値化して学習を進めていく。 強化学習

機械学習のプロセス

 ここで、機械学習がどのようなプロセスで予測まで行われるのか説明する。

  1. データの収集
    まず必要なのはデータの収集である。当然、データから何かを予測するためにはそのためのデータを集計しなければならない。
  2. データの前処理
    ほとんどの場合、実際に学習を始める前に、データに対して前処理を行っておく。機械学習を行う上では予測に必要な情報だけを抽出しておくことで、この後の学習の段階でコンピュータが行う計算を簡潔にすることができる。例えば用いるデータが画像ならば、画像のサイズの拡大や縮小、回転などすることで前処理を行う。 機械学習では予測したい情報に対して、それを特徴づける他の情報を特徴量と呼ぶ。そのため、前処理のことを特徴抽出と呼ぶこともある。
  3. 学習
    前処理によって抽出した特徴量を用いて学習を行う。予測したい情報に合わせて予測に用いる計算手法を選び、その後データを入力して結果を出力する規則算出する。この規則を作るために用いる計算手法やルールをモデルと呼び、ここで用いられるデータは訓練データと呼ばれる。この学習のモデルをどう構築するかによって予測の精度が大きく変わってくる。
  4. 精度の評価
    学習したモデルに対してどのぐらいの精度で予測が成功しているのか評価する必要がある。そのため先程学習で使った訓練データとは別に、テストデータを用いて精度を測定する。これによって、学習に用いてないデータに対しても良い精度が出ているか(汎化という)を確認する。精度が悪ければ、もう一度モデルの構築や場合によってはデータの収集に戻って学習を繰り返す。
  5. 未知のデータに対して予測
    良い精度のモデルが得られたのならば、それを用いて新たに得られる未知のデータに対して予測が行うことができる。

機械学習のこれからの発展

冒頭で示した例から分かる通り、機械学習は今もなお研究され続けられている分野であり、また今後も発展していく分野であることが分かる。最近ではPythonやRなどのデータサイエンスの分野で用いられることの多いプログラミング言語に便利なライブラリが用意されている。特にPythonは多次元配列の高速なベクトル演算を可能にするNumPyや、機械学習ライブラリとしてscikit-learn などを用いることで、オープンソースのライブラリを使って簡単に機械学習のプログラムを実装することができる。他にも表形式のデータ操作を可能にするpandasやデータの可視化を実現するmatplotlibも存在し、Pythonのライブラリの発展とともに、高度な機械学習プログラミングが可能となっていく。

まとめ

今回の記事では以下のことを述べた。

  • 機械学習の簡単な説明
  • 人工知能と機械学習の違い
  • 機械学習の3つの分類である教師あり学習、教師なし学習、強化学習について
  • 機械学習とPythonのライブラリの発展

機械学習は人間では困難な膨大なデータからの予測を可能にし、私達の生活の中で重要な役割を担っている。また研究がされていくことで、より機械学習が発展していきよりよいサービスが創造されていくに違いない。

アクセルユニバース株式会社(以下 当社)では『機械学習・深層学習で世界を笑顔にする』を掲げ、人が対応している業務を画像認識、音声認識、文字認識等を活用して効率化する機械学習ソリューション開発をおこなっています。

今日は世界を笑顔にしたい私が
「ドラえもんのひみつ道具があれば、みんな笑顔になるのではないか!?」
と機械学習を活用してひみつ道具の実現を考えてみました。


目次

  • ひみつ道具の検討
  • 実現したいこと
  • 結果と今後


ひみつ道具の検討

ずばり、今回実現を検討したいひみつ道具は「ムードもりあげ楽団」です。 ひみつ道具の実現
出典:ドラえもんのひみつ道具を一つもらえるとしたら
人の気分を盛り上げる楽団ロボット。その時の気分によって楽曲を演奏してくれます。
人は嬉しい時には楽しい音楽、悲しい時には悲しい音楽が聴きたくなるものです。
今回は人の声から感情を判定し、適切な音楽が流れる仕組みを検討します!


実現したいこと

人間の発した音声からその時の感情を判定し、適切な音楽が流れる仕組みです。
ひみつ道具の実現
実現するために、システムが人の発語を聞き取り感情を分析し、予め決めておいた感情群に判定します。そして判定された感情によって異なる音楽が流れることが必要です。
今回は機械学習の範囲の、感情分析〜判定を考えていきましょう。感情の変化は音声の韻律特徴に表れるので、韻律特徴により4つの感情[喜び/悲しみ/怒り/フラット]に分類します。
いくつか文献を読んでこのように計画しました。文献は最後に紹介します。

ひみつ道具の実現

データの準備
複数の人から発声データを集め、音の高さ・強さを時系列データにし、適当な長さに分割する。
学習データ : 話者と面識のある人が音声データを聴き、感情を判定(ラベル付け)し、分割する。

モデル
SVM(Support Vector Machine)
未学習データに対する高い汎化性能があり、高い認識性能が認められている。
SVMについて当社ブログ/最初に学ぶ 2分類SVMモデルの基本

評価
交差検証法(クロスバリデーション)
膨大なデータを用意することが難しく、また人の声のため学習にムラがあるかも、と懸念し汎化を高めるために、全てを学習データとして扱う本法を挙げる。
少し計算に時間がかかるかも...。


結果と今後

今回は計画だけで実装はしていませんが、愛知工業大学での結果は精度60%程度で判定できています。
「短時間発話からの音声感情認識のための音声データ選択法に関する検討」
音声データを短く切ることで、特徴として捉える範囲が減り、似たグラフの動きを誤判定してしまうようで若干精度が低下しているようです。
別の研究だと、音声データだけではなく、表情も感情判定に使用し、こちらは精度68%〜70%と結果が出ています。
また、一度判定させたものに結果をフィードバックすることでさらなる精度向上も見込めると思います。


どうやら実現可能性は多いにありそうなので社内でウケが良ければ実装に向けて進めていきます!
ドラえもんひみつ道具シリーズはシリーズ化したいので面白いひみつ道具やお気に入りがあれば是非コメントください。


当社ではインターン生が取り組んでいることを技術ブログで紹介しています。
文系学部2年生の私が「SIGNATE」初参加で上位8%に入った話論文 Attention Is All You Need から Attentionモデルの解説等が公開されています。
定期的にメルマガでも情報配信予定なので、問い合わせページに「メルマガ登録希望」とご連絡ください。


参考

平井有三:"初めてのパターン認識"森北出版 2012
小野谷信一 長屋優子 : "表情と音声を用いたサポートベクタマシンによる感情認識"2014
短時間発話からの音声感情認識のための音声データ選択法に関する検討
SVMを用いた自発対話音声の感情認識における学習データの検討

このアーカイブについて

このページには、過去に書かれた記事のうちコラムカテゴリに属しているものが含まれています。

前のカテゴリはkaggleです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。