Design Seminars

デザインセミナー Series VII レポート

 

「AI技術を活用したポストコロナの社会システムのデザイン」
開催日:2022年1月14日、21日、28日、2月4日
会場:オンライン
参加人数:27名

 人と人との関わり方が急速に変化したコロナ禍。ポストコロナの社会では、いっそう情報化やオンライン化への対応が求められることが予想されるなか、AIの社会実装について学ぶ。今回のセミナーでは最先端のAI技術分野で活躍するゲストスピーカーによる講義と、ワークショップによる体験を4日間にわたって行ない、最終的に「会話のできるAI」であるチャットボットのプロトタイピングに挑戦した。
 チャットボットの作成にあたっては、(1)Pythonや自然言語処理の基本を学ぶ、(2)簡単なチャットボットの作成を体験する、(3)深層学習モデルBERTを使った、より賢いチャットボットの作成を体験する、(4)これらの知識を用いて参加者の業務に対応したチャットボットのデザインに挑戦することを目標に取り組んだ。

Day 1〜 1月14日(金)「『ポストコロナ社会とAI技術』とPython演習」

 チャットボットはオンラインショップでの問い合わせをはじめ、音声アシスタントや企業のお客様窓口等にも採用され、今後の社会システムの重要な技術になっていくと考えられている。今回はチャットボットを設計するために必要なプログラミング体験となる。京都大学大学院情報学研究科の奥原俊先生をファシリテーターに迎えてスタートした1日目は、汎用性の高いコンピュータ言語であるPythonに触れ、自然言語処理の基本を学んだ。
 プログラミング初心者に向けた心構えとして、「プログラミングの学習前に覚えておいてほしいことは、まず習うより慣れろ、演習課題を必ずこなすこと、お互いにわからないところは教え合うこと、Google、ウェブ、参考図書を高度に利用すること」と奥原先生。「なぜこうなるのか」を考えることよりも実際に手を動かし、入力によって動作が変化することを実際に体験することが大事だと強調した。
 まず、Pythonの仕組みを理解し、実際に動作を体験するために、ブラウザでPythonを実行できるGoogleのサービスGoogle Colab(Google Colaboratory)にアクセス。Google Colabを使えばPythonを動かすための環境構築をする必要がなく、機械学習で必要な外部ライブラリもあらかじめインストールされていることから、初心者にも気軽に利用しやすいという利点がある。

 演習では、「プログラミングとはどういうもので、Pythonとはどういうものか」を体験するために、事前に用意されたファイルを用いてGoogle Colab でPythonを動かしてみることからスタート。
 「プログラミング言語には、Python 以外にCやCC++、Java、Python、Ruby、prologなどがありますが、それぞれに設計思想や使い勝手などが異なります。そのなかでもPythonは幅広い分野に適用される汎用言語で、Googleのシステムにも用いられています」と奥原先生。Pythonの特徴を学びながら基本動作の体験していった。


 この日は午後に、「ポストコロナ社会とAI技術」をテーマに京都大学大学院情報学研究科教授の伊藤孝行先生のレクチャーが行なわれた。
 伊藤先生は「MITのトマス・マローン教授は、コロナ後に『従業員がオフィスに戻ると考えている上司は夢を見ている』と言っている。リモートで分散して働く中で社会を作っていくには、コレクティブインテリジェンス(集団的知性)が重要になるだろう」とし、魚の群れの動きを例にとり、「個々の魚が全体の動きを認識しているかは分からないが、全体としてみると知性がある動きをしているように見える。人もAI技術によって今までとは違うつながりになってきている。その上で、群れとしての機能をどう発揮していけばいいのか、そのことを意識して新しい社会システムを作っていかなければいけない」と、今後のクラウドコンピューティングの重要性を説明した。

 また、2000年代に入りインターネットの普及とデジカメによる画像データの増加により、深層学習(ディープラーニング)が進み、画像認識が急速に発展。強化学習(Q-learning)の中に深層学習を取り込むことでAIによる状況判断もできるようになり、自動学習が進んでいったことや、自然言語処理の精度も高くなっている現状が紹介された。
 今後AI同士、またはAIと人間が関わって問題を解決していくためにはマルチエージェント(複数のエージェントが存在し、相互に影響し合う環境のこと)システムがますます重要になること、さらに同システムによって運用されているオンライン上の大規模合意形成支援システム「D-Agree」についても紹介された。
 講義のあとは、引き続きPython演習を実施。奥原先生からは、「最初は難しいかもしれませんが、動かしてみていくと次第にわかってきます。エクセルにある100万件のデータを処理するというような繰り返しの作業をするときに役立つのでぜひ覚えておいてほしい」と、その活用法について紹介があった。

Day 2〜 1月21日(金)「『D-Agree』とチャットボット試作」

 2日目は、慶應義塾大学理工学部教授で、同大学共生知能創発社会研究センター長の栗原聡先生のレクチャーでスタート。
 「社会システムをデザインするということは、あるべき世界を予測するということ。そのための道具がシミュレーション」と栗原先生。地震による津波予測や火災などは基本的には物理法則に従ったシミュレーションを行なうが、短期ならできても長期予測にはいろいろな要因が複雑に影響し合うため、完全な予測が困難になる。特に発生当初の頃の新型コロナのような想定外の出来事に対しては過去のデータがないため、シミュレーションは難しかったそうだ。そのために、過去のデータだけでなく、人の動きを再現して、社会現象を理解、予測、対策することが重要で、実際にそれらによってシミュレーションを行なった感染予測が新型コロナ対策の分科会でも取り入れられたことなどが紹介された。ただ、「シミュレーションというのはどう作ればいいかという理論はない。どうモデル化するかというのは、それを作るプログラマーや研究者の経験や知識、勘に委ねられている」という課題があったと指摘。それを防ぐために重要なのが、そのシミュレーションにおいて「過去の出来事をきちんと再現できるか」という検証作業で、それによってシミュレーションの信憑性が増すということだった。
 また、シミュレーションの利点として「なんでもできる世界」を挙げている。「あらゆる可能性を試すことで現実での想定外に対応できるのがシミュレーション。経済モデルであればいろんなシミュレーションをすることで、将来リーマンショック級の経済危機が起きないための方策を取れる」といい、AIによる交通信号制御システムの仕組みや自律型(能動型)AIの展望などについて紹介するとともに、「今後マルチスケール・マルチモーダルなシミュレーション群が有機的に連携したシステムを構築する必要がある」という提言があった。「人は常に頭の中でシミュレーションによる予測をし、それが正しければ生き残ることができる。同じように社会が生き残るためにはきちんと社会シミュレーションをして正しい政策を立てることが重要」であるとし、国策として完成度の高い社会シミュレーション技術を築くことの重要性を説いた。

 続いての演習では、奥原先生からチャットボットの歴史や種類、導入例などについての説明を受けたのち、チャットボット作成に必要な形態素解析をするための主流ツールであるMecabの使用方法を学んだ。
 その後、名古屋工業大学大学院の酒井敦也さんによるファシリテートで、飲食店の予約をするためのチャットボット作りを進めた。まずはチャットボットを外部サービス上で動かすために必要なSlackの初期設定から行なった。ここでは事前用意されたファイルを用いてプログラムの設定を行ない、来店予約/テイクアウト予約の区別、人数、メニュー、来店時間といった内容を受け付けるチャットボットをSlack上で動作させるための方法を学んだ。

Day 3〜 1月28日(金)「『BERTとは』と深層学習/BERTによるチャットボット」

 3日目は、京都大学大学院情報学研究科教授の伊藤孝行先生に深層学習モデルBERTの基本構造などについてお話をいただいた。
 そもそもBERT(Bidirectional Encoder Representations from Transformers=Transformerによる双方向のエンコード表現)とは、翻訳を目的として設計されたTransformerをベースとした自然言語処理モデルのことで、2018年にGoogleによって発表された。「自然言語処理の研究分野では、分かち書きや構文解析の技術はかなり進展したものの、文脈理解はなかなか進まなかった。それに対して、ベクトル(数値)で表現された単語の並び(文章)を入力として、別の文章を予測するのがBERT」で、文章のどこに注目すべきかを表すAttentionというメカニズムを用いることで、文脈を読むことが可能になったそうだ。
 「BERTでは、Transformerを構成しているエンコーダとデコーダのうち、エンコーダのモデルを使っているのが特徴です。このエンコーダは、入力ベクトルから生成されたQuery、Key、Valueと呼ばれるベクトルを用いてAttentionを学習するself-attention機構を持っています。これらの計算モデルはニューラルネットワークそのものに埋め込まれていて、学習によってより良い言語モデルを獲得できます」。
 また、BERTではラベルが付与されていない大量のデータで学習する事前学習と、それらをラベル付きのデータでさらに訓練して微調整するfine-tuningによって精度が上がる仕組みになっている。これによって「文脈の中で“it”や“それ”といった単語が何を指しているのか、理解できるようになっている」と言い、実際に伊藤先生が携わる大規模合意形成支援システム「D-Agree」のエージェントでも高精度で発揮されているという。


 午後は、これまでのレクチャーを念頭に置きながら、オリジナルのチャットボット作成に取り組んだ。まずは、名古屋工業大学大学院の佐藤拓実さんから機械学習の仕組みについて紹介があった。
 「機械学習とはマシーンラーニング、MLと言われ、経験からの学習によって自動で改善するコンピュータアルゴリズム、もしくはその研究領域のことで、AIの一部。そして、機械が自動的に文章のパターンやルールといった法則性を発見するときに、データのどの部分に注目するかということも機械が自動で決定することが定義に含まれている」と佐藤さん。身近なところでは迷惑メールの分類や予測変換などに取り入れられているほか、長文の要約や感情分析、文章生成など幅広い分野で活用されている。
 「前回取り組んだ飲食店予約のチャットボットでは、例えば『魚定食』といった指定された単語でないと反応できなかったのが、機械学習を組み合わせることで『魚のやつ』とか『人気のメニュー』という単語であってもそれが何を指しているか読み取れるようになる」というように、あいまいな表現も機械学習によって汲み取られるようになっていくそうだ。
 ここでは、どのように機械学習が進められていくのかという学習データ例を見るとともに、自然言語処理の基本技術であり、単語をベクトル化するためのone-hot vectorがその課題を解決するためにword2vec、ELMo(Embeddings from Language Models)、BERTと進化していったことなどについて学んだ。
 「BERTはここ数年の自然言語処理界で最も大きなブレイクスルーであり、いくつかのタスクのスコアでは人間の能力を上回るとして話題になった。人間の認知機能をより忠実に再現できている」と佐藤さん。これにより、長く複雑な文章でも適切に理解できるようになったそうだ。
 また、深層学習フレームワークの1つとして、facebookが中心となって開発したPythonのオープンソースで機械学習ライブラリのPyTorchについても紹介。「簡単なコードで畳み込みニューラルネットワーク(CNN、データから直接学習することができる深層学習のためのネットワークアーキテクチャ)という画像分野のニューラルネットワークを構築できる」ようになり、画像認識の精度アップにつながっている。
 演習では学習済みモデルを利用してword2vecやPyTorchの体験をした。

 この日最後は、名古屋工業大学大学院の酒井敦也さんによるBERTのfine-tuningについてのワークショップが行なわれた。「BERTでは例えばニュース原稿を入力するとベクトル化されるが、さらにfine-tuningをすることによって分類してタスクまでしてくれるため、精度がかなり高くなる」という特徴がある。
 さっそく用意されたニュース原稿のデータセットを用いてfine-tuningを体験したのち、オリジナルチャットボットのためのデータセットを各自で作成し、fine-tuningによる分類を体験してみた。

Day 4〜 2月4日(金)「『自社のチャットボットを作ろう』と成果発表」

 オリジナルのチャットボット完成を目標とした最終日は、北海道大学情報科学研究院教授の野田五十樹先生のレクチャーでスタート。
 野田先生はタクシー相乗りサービスである「AI便乗SAVS」を開発、ベンチャー企業を立ち上げてサービスを提供している。これは乗車希望者の乗車地点と降車地点を入力すると最適化したルートをAIが計算して配車し、一台で効率よく運行するシステムだという。

 「我々のサービスは事前ではなくリアルタイムで次々にマッチングしていくタイプ。リアルタイムなので乗合の確率が高くなり、柔軟性もある」とその特徴を説明する。
 そもそもは過疎の町で高齢者の利便性のために生まれたサービスだが、従来の固定路線のバスに対して本当にオンデマンド型の交通サービスが優位に成立し、利用者、運行者双方にメリットがもたらされるのかについては、人口やエリア、コスト、台数など、成立条件の計算モデルを作ってシミュレーションを重ねたそうだ。
 その結果、成立条件によってはオンデマンド型サービスの台数を増やすほど効率が上がり、サービスを大規模にするほど固定路線バスを上回る効率結果を表すことがわかったという。
また、このサービスの実証実験では、これまでにはなかった移動の流れが生まれることで、街の活性化につながることもわかったほか、福祉目的でのサービスが定着している地域も生まれている。つまりオンデマンド型の配車サービスによって、街の使われ方が変わる可能性が示唆されている。
 現在のAI研究は、深層学習による問題解決のツールとして使われることがメインになっているが、「問題を解決するだけでなく、さらに問題を発見し、問題を創出する。新しい仕組みで社会システムの設計にも応用できる。効率や利便性、経済原則だけでなく、そもそも人間が生活していく上で心地よいとかお互いにちょっとずつ譲り合うことでうまくいくということも含めてAIで設計できる」と野田先生。そのための道具としてAIの使い道はまだまだ広がることに期待を寄せているという。

 午後からは、前回に続いてオリジナルのチャットボットの作成を進め、最後に1人2分の持ち時間でオリジナルチャットボットのプレゼンテーションが行なわれた。
 参加者からは「おすすめメニューを割り出すチャットボット」「会議室の予約システムチャットボット」「イベント参加登録/確認チャットボット」「適切な機械(商品)の選定チャットボット」「社内のHPをガイドする(情報検索の補助)チャットボット」「ハンドメイド商品を販売するwebサイト(小規模事業主ECサイト)のFAQチャットボット」「社内システム利用申請ボット」「製品オーダーのチャットボット」「サウナ検索システム」など、多様な目的と特徴を持ったチャットボットの発表が行なわれ、ファシリテーターからそれぞれの課題や問題点についてアドバイスが送られ、ブラッシュアップへの道筋が示された。

 最後に伊藤孝行先生から、「本来はPythonだけでも12~13週、さらに演習に8週程の時間をかけてやるところ。今回のセミナーではそれを4週で行なったので大変だったかと思う。しかし、Pythonがどういうものか、現在AIでどんなことができるのか、おおよそわかっていただけたのではないか。コードは難しいが1行1行実行されて、書いたとおりにしか動かない。その部分に愛着を持ってもらえたら」という話で締め括られた。

もどる