LogoMark.png

AIxDesign の変更点


#author("2019-09-04T20:23:16+09:00;2019-09-04T20:22:37+09:00","default:inoue.ko","inoue.ko")
*AI × Design
***オープンな開発環境がつくる未来
九州産業大学 芸術学会 研究報告(Web版は随時加筆・修正)

~
***CONTENTS
#contents2_1

~

**1. はじめに
本稿では、AI の開発にデザイナーが関わることを前提に、AI の歴史と現状、またその開発環境のトレンドを明らかにしつつ、次世代を担うデザイナーへ向けた話題を提供しています。

[[M.マクルーハン>Google:M.マクルーハン]]流に言えば、デザインの対象となるものはいずれも「人間の拡張」です。第三次ブームと言われる現在の AI は、人間の視聴覚センサーの拡張として、またパターン認識を行う脳領域の拡張として位置付けられますが、それは人間には検知できない情報(例:位置情報)や、ネットワークを介して得られる膨大なデータを背景に、目前の情報を瞬時に、しかも人間よりも高い精度で識別して行動できるレベルに達しています。

これからのプロダクトの多くが、クラウドとの接続を前提として、状況認識と自らの行動を自動化しつつああります。それは人の所有物としての「道具」の域を超えて、人間をネットワークに接続させてその行動をコントロールする存在でもあります。

AI の技術の背景にあるのはデータサイエンスと情報通信技術です。今後デザイナーは多くの現場で、データサイエンティストや IT エンジニアと協働することになるでしょう。そして、このとき大きな問題になるのが、技術者とデザイナーとの間で「言葉が通じない」ということです。技術者の主たる関心事は製品開発とその性能向上にあり、未来に生じるであろう問題を想像することは後回しになりがちです。人と社会の理想とテクノロジーをうまく融合するには、デザイナーが開発の段階から加わり、デザイン思考にもとづく未来を設計することが必要です。AI の開発は、もはや他人事ではありません。危機感と未来感をもって、それに取り組む必要があります。
~
~

**2. AI の基本概念
Artificial Intelligence という言葉は、1956年に開催された世界初の人工知能の国際会議「ダートマス会議(ジョン・マッカーシー主催)」にその起源があるといわれていますが、何をもって AI と呼ぶか、現在でも明確な定義があるわけではありません。情報処理ができる単なる機械から、人間のように意志をもって動くと想定される未来のロボットまで、議論の文脈によって様々な定義があります。

AI と呼べるか否か、1950年にアラン・チューリングが提唱した Turing Test はわかりやすいアイデアのひとつです。それは「人がテレタイプを介して対話したときに、相手が人間か機械か区別できないものであれば、それを AI とみなす」というものです。

機械が人間を騙せるか否か・・については、文字による対話 > 音声 > ビジュアルイメージ > 実体(ロボット)と、段階的にハードルが上がりますが、現在は、音声コミュニケーションのレベルまでは相手を人と錯覚させることができる段階にあるといえます。また、AI に期待される能力には主に、認識・探索・推論の3つがありますが、現在の AI というのは、その大半が「パターン認識マシン」と同義です。

AI と呼ばれているものには様々なタイプのものがあります。話題が混乱しないよう、以下にいくつかの分類基準を紹介します。
~

***2.1. 汎用型AI と 特化型AI
''汎用型 AI''とは、人間と同様に様々な問題に対応できる能力を持つもので、現時点では実現していない未来の AI と言えます。一方、''特化型 AI''は、自動運転、画像認識、音声認識、自然言語処理など、機能が限定されたもので、私たちの身近にある AI の大半は、特化型 AIと言えます。
~

***2.2. 強いAI と 弱いAI
''強いAI''と''弱いAI''という分け方もあります。''強いAI''とは、人のように物事を認識して仕事をこなすもので、SF映画に登場するロボットのように、意味を理解すること((意味が理解できる・・というのは「それが無い状態」を想像できるということです。「ある」と「ない」の差異を捉えることができてはじめて、ヒトと同様に意味が理解できている・・ということができます。これにはまだ相当な時間を要すると思われます。))、自意識を備えていることを想定しています。一方''弱いAI''は、人間のような自意識を備えたものではなく、人間の情報処理機能の一部を代替する機械的な存在です。汎用型・特化型とほぼ同様の区分になると言えるでしょう。
~

***2.3. 記号処理的人工知能 と 非記号処理的人工知能
これは、現在使われているAIテクノロジーを区分するのに重要な区分です。以下、箇条書きで、その違いを紹介します。
-''記号処理的人工知能''
--記号処理用のプログラミング言語で構築
--トップダウン的な処理プロセスになる
--記号を厳密に定義するため、フレーム(文脈)が限定される
-''非記号処理的人工知能''  ← 現在の主流
--ニューラルネットに代表される機械学習によって構築
--ボトムアップ的な処理プロセスになる
--記号は厳密に定義されないため、フレーム(文脈)に柔軟に対応
~
~

**3. 人工知能の歴史
人工知能は、コンピュータという機械の進化にともなって、過去2回の「ブーム」と「冬の時代」を経て、現在は「第3次ブーム」の時代を迎えています。ブームというものはやがて去るものですが、それは、利用者が減って市場からなくなるという話ではなく、様々なAIがコモディティー化(同質化)して、私たちの社会にとって「あたりまえの存在」になっていく、・・という意味です。人工知能は、IT革命の大きな流れの中にあるひとつの技術として、ますます無視できない存在になっていることは確かです。
~

***3.1. 黎明期 1940年代〜
ダートマス会議以前という意味でのこの黎明期、 AI のアイデアとそれを実現するコンピュータが登場しています。

-チューリングマシン
計算機を数学的に実現するために、数学者アラン・チューリングが考案したもので、「紙テープ」と「0,1を書き込むヘッド」を備えた仮想的な機械です。「0を書き込んで右に1コマ移動」「紙テープの文字を読んで、左に1コマ戻る」などの命令を並べたプログラムで、計算機能を仮想的に実現するもので、現在のコンピュータのアイデアの原型となりました。

-人工ニューロン
1943年、W.S. マカロックと W.J. ピッツは「形式ニューロン」というアイデアを発表しました。入力信号に重みを乗じた値の総和が一定の閾値を超えると他のニューロンに信号を出力する・・という人間の脳神経系のモデルで、現在の[[ニューラルネットワーク>NeuralNetwork]]のアイデアの原型といえるものです。

-電子計算機 ENIAC
1946年に開発された世界初の電子式コンピューター。計算手順は本体の配線を手作業で設定することで実現していました(ワイヤードロジック)。現在の AI も、そのハードウエア基盤は電子計算機です。根幹部分で行われていることは「加算」と「乗算」にすぎない・・という点では、AIの歴史において重要な発明の一つと言えます。

-チューリングテスト
アラン・チューリングが1950年の論文で提案した「人と人工的知性」を見分けるためのテスト。審査員(人)が、別室に隔離された1人の人間と1つのプログラムに対して会話を行い、人間とプログラムとの区別ができなかった場合にはこのプログラムはテストに合格(つまりAIとみなす)・・というものです。人工知能とは何かを説明する際のひとつの指針となっています。

-ダートマス会議
1956年7月から8月にかけてダートマス大学で開催されたこの会議は、この世にはじめて Artificial Intelligence(人工知能)という言葉を登場させたと言われています。当時、ダートマス大学に在籍していたジョン・マッカーシーが主催、マービン・ミンスキー、ネイサン・ロチェスター、クロード・シャノンといった錚々たるメンバーがその構想に参加しています。
~

***3.2. 第一次ブーム 1960年代〜
-LISP:LISt Processor(リスト処理言語)
LISPは1958年にジョン・マッカーシーが考案したプログラミング言語で、記号やリストと呼ばれる可変長のデータの列を扱うことができ、記号処理系のAIプログラムの記述・開発に適していると言われます。

-Macsyma, REDUCE: 数式処理(多項式処理、不定積分など)

-ELIZA:自然言語処理(パターンマッチと概念辞書による会話の模倣)
J. ワイゼンバウムが 1964 から開発を手がけた会話模倣システム。概念辞書を用いた単純なパターンマッチ技術で、人工無脳(chatbot)と呼ばれる会話ボットの原型となりました。基本的には、if 文で分岐する決定論的なプログラムです。

-人工無脳(注:「無能」ではありません)
chatterbot、chatbotと呼ばれる会話ボットに利用されるプログラムで、トップダウン的に「人らしさ」のモデルを再現したものといえます。決定論的な推論と探索ですが、当時としては立派な人工知能の1つです。

-エキスパートシステム
記号処理的な推論型の人工知能で、コンピュータが知的な判断を行えるように、有識者の知識(推論の手順、条件式)をコンピュータに覚えさせたものです。人間がルールを決めていくことから ''ルールベースの人工知能'' ともいわれます。どう推理するかを、プログラマーが記述していく必要があり、したがって人間(有識者)の知能を超えることはありません。
~

***3.3. 第二次ブーム 1980年代〜
コンピュータの性能向上と低価格化が進み、AI ワークステーション、ナレッジエンジニアが登場したこの時期、IT ベンダーは続々とエキスパートシステムを導入し、実績を PR しました。専用言語 LISP から汎用言語 C への移行期でもあります。

-第5世代コンピュータ
1982年、日本の国家プロジェクトとしてスタートした非ノイマン型のアーキテクチャーで並列処理を行う推論マシン構想のことです。残念ながら一般市場向けの画期的な応用は実現しませんでした。

-バックプロパゲーション(誤差逆伝播法)
D.E. ラメルハートらが1986年に発表したニューラルネットの学習アルゴリズムのひとつで、このアルゴリズムが多層ニューラルネットワークにおける機械学習の可能性を広げました。学習(エラー修正)は以下のように伝播します。
--ニューラルネットワークに学習サンプルを与える
--ネットワークの出力を求め、出力層における誤差を求める
>その誤差を用いて、各出力ニューロンについての誤差を計算
--個々のニューロンに期待された出力と実際の出力の差を計算し(局所誤差)、それが小さくなるよう各ニューロンの重みを調整
--より大きな重みで接続された前段のニューロンに対して、局所誤差の原因があると判定し、前段のニューロン、さらにその前のニューロンについて、順次同様の処理を行う。

-[[人工知能学会>https://www.ai-gakkai.or.jp/]]
1986年、日本にAIを専門とする学会が誕生しました。

//-統計・確率型のAI
//多数のデータを統計的に処理し、もっとも確率の高いもの(あるいは低いもの)を判断の材料として採用するシステム。例えば、自動運転の車が周囲の移動体の動きを予測する場合、各種のセンサーから取得したデータと、自身の位置情報を総合し、確率的に最も安全な進路を選択する場合などに用いられます。当然ですが、予期せぬデータ(外れ値)が入力された場合に間違った判断をする可能性は捨て切れません。
~

***3.4. 第三次ブーム 1990年代後半〜
パワーを要するアルゴリズムを実装できるだけの処理速度と記憶容量の向上、クラウドコンピューティング環境の充実、また、様々な分野で「機械が人間に勝利する」という現象がおこり、シンギュラリティーへの危機感とともにその話題性が高まっているのが現在、第三次ブームの時代です。

//-エージェント指向
//自律分散協調的に動作する「知的エージェント」を想定することで、小さな人工知能が全体として大きな役割を担うようになりました。

-IBM DeepBlue
1997年、チェスのプログラム DeepBlue が人間の世界チャンピオンに勝利しました。アルゴリズムは「力ずく探索」と呼ばれる従来型のものでしたが、その報道は、AIの存在感を強くしました。

-IBM Watson
2011年、米国のクイズ番組 Jeopardy! で、IBMの Watson が人間のチャンピオンに勝利しました。アルゴリズムは従来からある探索型の自然言語処理プログラムでしたが、人間に勝った・・という事実がブームに拍車をかけました。

-Boston Dynamics BigDOG
Boston Dynamics は、1992年に MITのマーク・レイバートが、同大学をスピンアウトして設立したロボットの研究開発を手がける企業で、米国防高等研究計画局(DARPA)の支援の下で開発した四足歩行ロボット、ビッグドッグ、リトルドッグ、スポット、また人型ロボットのアトラスなどが動画で紹介され、その姿勢制御技術は高く評価されました。
--[[boston dynamics>YouTube: boston dynamics]]
--[[DARPA military robots>Google: DARPA military robots]]

-Bonanza / Ponanza
いずれも、コンピュータ将棋ソフト。bonanzaは、保木邦仁が作成したフリーウェアで、プロの棋譜から機械学習を取り入れたことがターニングポイントとなって 2006年のコンピューター将棋選手権で優勝。一方 ponanza は山本一成による後継的ソフトで、自己対戦の結果を使って強化学習させたと言われる ponanza は、2013年の第2回電王戦で将棋ソフトとして初めて現役の棋士に勝利しました。2015年、情報処理学会は「すでにコンピュータ将棋の実力は2015年の時点でトッププロ棋士に追い付いている」として、コンピュータ将棋プロジェクトの「終了宣言」を出しました。この世界では、すでにシンギュラリティー(特異点越え)が起きている・・という話になって、AIの脅威が騒がれるきっかけともなりました。

-AlphaGo
2015年、Google DeepMind によって開発された囲碁プログラム AlphaGo が世界のトップ棋士に勝利しました。多層ニューラルネットワークを利用した強化学習による勝利は、ponanza の話題とともに、機械学習ブームの火付け役となりました。
~
~

**4. AI開発のキーワード

***4.1. [[機械学習>MachineLearning]]
機械学習(ML)とは、データサイエンス、あるいは非記号型のAIを実現する技術で、その代表とも言えるディープラーニング(深層学習)は大きな成果を上げます。機械学習では、コンピュータ自身が大量のデータから推論のルールを自動的に学習します。人間がコンピュータに与えるのは、学習するためのルールと、学習素材としてのデータセット。

例えば、ヒト、犬、猫の大量の画像と、その画像がヒトか、犬か、猫かの「答え」です。この画像はヒト、この画像は犬・・と大量に与えていくことで、識別する能力が学習され、その「経験」が豊富になることで、識別能力が上がっていくのです。小さな子供に「これは犬です」、「これは猫です」・・と教えていくのと同じ手順です。

このときコンピュータの中に自動的に出来上がる「入力と出力の関係づけ」のことを「モデル」と言います。与えるデータが画像であれば、画像認識モデルができあがり、音声を与えつづければ、音声認識モデルができあがります。

機械学習には大きく3つのタイプがあります。

-1) 教師あり学習
教師あり学習とは、ヒト・犬・猫の事例のように問題(説明変数)と答え(目的変数)をセットにして学習させるタイプのものです。実数値を予測する「回帰」や、カテゴリを予測する「分類」があり、手法としては、線形回帰、ニューラルネットワークなどがあります。

-2) 教師なし学習
教師なし学習とは、与えられたデータから背後にある規則性を発見する手法で、サンプルをグループ分けする「クラスタリング」((代表的な手法に [[k-means法>DataScience#k-means]]があります。))や、高次元の変数(多変数)を低次元に減らす「次元削減(次元圧縮)」((代表的な手法に[[PCA(主成分分析)>DataScience#PCA]]があります。))などがあります。教師なし学習は、正解・不正解が存在しないのが最大の特徴で、その答えを自動的に導き出すことを目的としています。与えられた基準にしたがってデータの分布を学習するもので、おすすめメニューや商品を紹介するレコメンド機能、また電子メールの自動分類などに使われています。

-3) 強化学習
強化学習では「行動」を入力として、「正解」の代わりに「報酬」を与えます。とるべき「行動」に無数の選択肢があり、明確な「答え」をあらかじめ与えることが難しい場合、「報酬」の大きな行動に高いスコア、「報酬」の少ない行動に低いスコアを与えていくことで、どう振る舞えば最大の報酬が得られるかを学習します。囲碁・将棋の AI に利用されているのが、この強化学習です。

参考:[[MachineLearning]]

~


***4.2. [[ニューラルネットワーク>NeuralNetwork]]
ニューラルネットワーク (NN) とは、人間の脳内にあるニューロン(神経細胞)とその回路網を数式モデルで再現したもので、シナプスの結合強度を学習によって調整することで、入力データを識別する能力を獲得させようとするものです。
#image(NeuralNetwork/ArtificialNeuron.png,right,40%)
右図は1個の人工ニューロンを図式化したものである。n 個の入力信号 ( xSUB{1}; 〜 xSUB{n}; ) それぞれ が重み ( w ) の影響を受けつつ、細胞に接続され、 その総和が閾値 ( θ ) を超えると、細胞が発火して次の細胞へと信号を送り出します。一般に出力 ( y ) は 0 または 1 。関係式は以下のようになります。

 '''''y = f ( wSUB{1};・xSUB{1};  +  wSUB{2};・xSUB{2};  + ・・・・ +  wSUB{n};・xSUB{n};   -   θ )'''''

ニューラルネットワークは、この人工ニューロンを配列した入力層・中間層・出力層を全結合することで最終的な出力を得ます。各ニューロンに入る複数の刺激に対する重み(w)を学習によって最適化するアルゴリズムが、先述のバックプロパゲーション(誤差逆伝播法)です。以下、その流れの概略です。
-1) ネットワークに学習サンプルを与える
-2) ネットワークの出力の誤差を求め、それを用いて、各出力ニューロンについての誤差を計算
-3) 期待された出力と実際の出力の差(局所誤差)が小さくなるよう各ニューロンの重みを調整
-4) より大きな重みで接続された前段のニューロンに対して、局所誤差の原因があると判定し、前段のニューロン、さらにその前のニューロンについて、順次同様の処理を行う

参考:[[NeuralNetwork]]

~

***4.3. ディープラーニング
#image(NeuralNetwork/NeuralNetwork.png,right,40%)
ディープラーニング(DL:深層学習)はトロント大学の G.E. ヒントンが 2006年の論文で用いたディープ・ネットワークという言葉に由来します。ニューラルネットワークにおける中間層の数を数十〜百段階程度まで増やして、多段階の神経接続で出力を得ようとするものです。タイプとしては「教師あり機械学習」の一種。現在の主流となっている技術です。右図がそのイメージです。

入力層には説明変数に対応するユニットを設定し(例えば 28 × 28px の画像の場合 784 個 )、出力層には判定したいカテゴリーに対応するユニットを設定します(例えば0〜9の数字であれば10個)。

問題は中間にある隠れ層の数と各層のユニット数ですが、それを決める公式はなく「任意」です。層が多いほど学習の可能性は広がりますが、学習は難しく、良い結果が得られるとは限りません。また、一般にモデルのパラメータを増やすと「過学習」が生じると言われます。つまり、訓練データに忠実になりすぎて現実のデータで判定を誤るるのです(要するにヒトと同じで「教科書」に忠実すぎると頭が固くなる)。計算負荷を考えて、なるべくコンパクトにモデルを実現すべく調整が必要です(口で言うのは簡単なのですが・・)。ここで最も重要なのは学習用のデータです。機械学習には大量のデータセットが必要で、その量と質が AI の性能を左右します。Web上にあふれる大量の音声や画像はもちろん、様々なサービスを通して得られるユーザーの情報が、現在の AI 開発にとって最も価値のある存在となっています((「データ」に価値がある:ディープラーニングを主たる潮流とする第3次ブームの現在、最も価値を持つのは「AIに食わせる良質のデータ」であると言われます。スマホアプリに代表される多くのサービスがなぜ無償で提供されるのか。それは「データを獲得することに価値がある」からです。それらは、ソフトウエアの提供と引き換えに、ユーザーの属性情報や行動データの取得を行なっています。プライバシーの問題等には十分な配慮をしつつ、社会全体の利益につながるデータの獲得方法を模索する必要があります。))。
~
~

**5. AIの開発環境
デザイナーにとって AI の開発はハードルが高いものに思えますが、現在は誰もが簡単に(?)体験できる環境が整っています。
~

***5.1. ハードウェア
AI 開発に特別なハードウエアは必要ありませんが、大量のデータを用いた学習モデルの構築には、高速演算を実現するハードウエア(チップ)を利用す るのが一般的です。以下、その事例を紹介します。

-1) GPU:Graphics Processing Unit
GPU は 3DCG 用のチップですが、数十から数千のコアを使った並列処理が得意で、大量のデータを扱うディープラーニングにとって、非常に有用な存在です。現在 Amazon、IBM、Microsoft など、 大半のクラウド(後述)、そのトップ企業である NVIDIA の GPU を採用しています。

-2) FPGA:Field-Programmable Gate Array
FPGA は、汎用の CPU と高速な GPU の中間的な存在で、購入者が構成を設定できまう。FGPA の特徴は省電力で、データセンターのサーバーに適正が高いことから、最近では Microsoft の Bing 検索や Azure 翻訳、Amazon AWS、IBM クラウド、Baidu などで採用されています。

-3) ASIC:Application Specific Integrated Circuit
ASIC は特定用途向けの集積回路で、量産によって単価を下げられる特徴があります。

-4) TPU:Tensor Processing Unit
TPU は Google が開発したチップで、一般的な GPU より 15 〜 30 倍高速であるといわれます。TPU は前述の ASIC のひとつで、Google 画像検索、Google フォ ト、Google 翻訳などでも使われています。
~

***5.2. クラウドプラットフォーム
一般に上述のようなハードウエア環境を準備するにはそれなりの経費がかかりますが、現在ではクラウドプラットフォームと呼ばれるサービスの利用でそれを代替することができます。これはプログラムの実行やデータの保存を可能とする作業環境を Web上に実現したもので、著名なものに以下のようなサービスがあります。
-[[Amazon Web Services(AWS)>https://aws.amazon.com/jp/]]
-[[Google Cloud AI>https://cloud.google.com/products/ai/]]
-[[IBM Watson>https://www.ibm.com/watson/]]
-[[Microsoft Cognitive Services(Azure)>https://azure.microsoft.com/ja-jp/services/cognitive-services/]] 
~

***5.3. 開発環境 Google Colaboratory
[[Google Colaboratory>https://colab.research.google.com/]]とは、AI 開発の促進を目的とした Google のプロジェクトで、アカウントさえあれば、誰でも自由にクラウド上で Jupyter Notebook(後述)を利用した Python のプログ ラミングが可能になります。ラインタイム環境では、Python 2 系 / 3 系を選択でき、また GPU や TPU の利用を選択することもできます。記述したファイル(ipynb)は GoogleDrive に保存される他、GitHub リポジトリ上への公開も可能となっていて、発表と同時に急速に話題の的になっています。
[[Googleトレンド|Colaboratory>https://trends.google.co.jp/trends/explore?date=today%205-y&geo=JP&q=Google%20Colaboratory]]
~

***5.4. 開発環境 Jupyter Notebook
[[Jupyter notebook>http://jupyter.org/]] は Python の対話型実行環境をノートブック形式で利用できるように拡張した環境で、ソースコードをブロックに区切って逐次的に処理を進めることができます。またプログラムの実行結果や、開発メモをMD(MarkDown)形式で記述できるため、作業の振り返りや、開発メンバーとの情報共有に適しています。
[[Googleトレンド|Jupyter>https://trends.google.co.jp/trends/explore?date=today%205-y&geo=JP&q=Jupyter]]
~
~

**6. AIの開発言語 / ライブラリ / サンプル

***6.1. [[Python言語>Python]]
Python はオランダのグイド・ヴァンロッサムが BBC のコメディ番組『空飛ぶモンティ・パイソン』にちなんで名付けたインタープリタ型の汎用プログラミング言語です。初版は1991年。オブジェクト指向、命令型、手続き型、関数型など、複数のプログラミングパラダイムに対応して、様々な分野のソフトウエア開発に使われています。広範な標準ライブラリとサードパーティのモジュールの充実によって、現在の AI 開発においては事実上標準の言語となっています。Google 社に おいても C++、java と並ぶ3大言語のひとつに位置づけられていて、その話題性は確実に高まっています。Python には、現役で 2 系と3系のバージョンがありますが、これらには互換性がないため、それぞれに仮想環境を用意する必要があります、先述の Google Colaboratory では、それを選択できるようになっていて、またローカルマシンにおける開発でも、[[Anaconda>https://www.anaconda.com/]]という統合環境がオープンソースで提供されているため、初心者でも環境の構築でつまづくことは少ないでしょう。
-Pythonに関する記事は別ページにあります  > [[Python]]

~

***6.2. ライブラリ
#image(ライブラリ一覧.jpg,right,40%)
ライブラリとは、汎用性の高い複数のプログ ラムを再利用可能な形にまとめたものです。 Python による統計処理には NumPy(数値計算)、Pandas(データ分析)、matplotlib(グラフ描画)といった定番のライブラリがありますが、最近では AI(機械学習)用のライブラリも多数公開されています。右の表はその代表的なもので、大半が Python を主要言語としています。最も著名な TensorFlow も含め、いずれも[[オープンソース>OpenSource]]で、誰でも自由に利用できます。
~

***6.3. データサンプル
AI の開発を学ぶには、大量のデータサンプルが必要になります。以下、著名なものをリンクとともに紹介します。

-1) [[Iris>http://archive.ics.uci.edu/ml/datasets/Iris]]
植物学者 R. Fisher による「あやめ」のデータで、統計ソフトの練習用として最も有名です。 Iris setosa、 Iris virginica、Iris versicolor 3種について、がく片の長さ、がく片の幅、花弁の長さ、花弁の幅の4つの計測データが、各 50、計 150 件含まれます。 

-2) [[The Boston Housing Dataset>http://lib.stat.cmu.edu/datasets/boston]]
米国ボストン市郊外における地域別の住宅価格のデータセットで、犯罪発生数、住居の平均部屋数、幹線道路へのアクセスしやすさなど、14 項目の 情報が 506 件分記録されています。

-3) [[Wine Quality>https://archive.ics.uci.edu/ml/datasets/wine+quality]]
ポルトガルワインの一種 Vinho Verde を測定したデータで、赤ワインと白ワインの2種類のデータ群それぞれに、アルコール、フラバノイド、色彩強度など 13 種類の成分データと鑑定士による味覚評価が含まれます。

#image(DataScience/MNIST.jpg,right,20%)
-4 ) [[MNIST>http://yann.lecun.com/exdb/mnist/]]
手書き数字の画像データ(28 × 28px) と正解ラベルのペアを学習用 60,000個、評価用 10,000個をセットにしたデータサンプルです(次節の事例で活用します)。

-5) [[MegaFace and MF2>http://megaface.cs.washington.edu/]]
顔認証の機械学習のサンプルで、約 70 万人分の 顔写真(同一人につき複数画像 )470万枚ほどのデータを含みます。ただしサイズは 160GB を超えます。
~
~

**7. サンプルプログラム
#image(SampleCode.jpg,right,30%)
AI のプログラムというと、膨大なコードの記述 がイメージされがちですが、実際には多くの手順がライブラリーによってラップされているため、簡単なサンプルであれば想像以上にシンプルなものになります。
 右は、先述の手書き数字サンプル MNIST を用いて、0 〜 9 の手書き数字認識モデルをニューラルネットワークの技術で機械学習させるプログラムです。以下、コードを順に概説します。

-1) データのインポート
--ライブラリからデータを読み込む
--x は入力画像、 y は正解ラベル
--train が学習用、test が評価用

-2) 入力画像データのスケール変換
--2次元画像 (28 × 28px) を1次元 (784px) に変形
--輝度(0〜255)を 最小値 0、最大値1にな るよう正規化

-3) 正解ラベルの対応づけ
--0 〜9の正解ラベルをカテゴリーデータに変形

-4) 学習モデルの構築
--中間層の追加が簡単な Sequential モデルを選択、
--入力層はデータ仕様から 784、中間層は 64 と設定
--ニューロンの出力を判定する活性化関数には ReLU((ReLU(ランプ関数):活性化関数のひとつ。入力値が 0 以下のとき 0 になり、1 より大きいとき入力をそのまま出力します。)) を使用
--出力層には正解数 10、判定には Softmax 関数((Softmax 関数:出力層の各ユニットに判定結果を % 値として出力します。一般に最もパーセンテージの高いものを答えとして採用します。))を設定

-5) モデルに訓練過程を設定
--model.compile で訓練過程を設定
--最適化の手法として、確率的勾配降下法 (SGD)
--損失関数に多値分類 (categorical_crossentropy) を選択

-6) 機械学習の実行
--model.fit で学習開始
--epochs は学習反復回数で、ここでは 10 回反復
--loss は正解とのズレで、 0 に近いほど正解に近い
--accuracy は正確性で、100% に近いほど正解に近い
--この例では 10 回の反復計算を 20 秒程度で終えています。

-7) 評価用のデータで正解率を検証
--評価用データに対する正解率を model.evaluate で計算
--ここでは 94.4% 正解するモデルができました。

-8) 混同行列でミスの発生状況を確認
--100 件のデータを用いて、実際にどこにミスが生じるかを検証
--出力された表は「[[混同行列>Google:混同行列]]」といって、行が予測された数字で、列が実際の正解に対応します。
--対角線上にあるのが正しく分類されたもの
--対角線外のセルは、誤って予測されたもの
--表からは、サンプル 100 件中3件、「4 と 0」、「5 と 6」、 「9 と4」を誤認するエラーがあったことがわかります。
~
~

**8. AI 時代の展望
開発環境、開発言語、ライブラリ、データサンプル、いずれもオープンなものであり、誰もがこれを自由に利用することができます。環境がクラウドにあるということは、PCを持つ必要もなく、必要なのはネットワーク上のアカウントだけだと言っても過言ではありません。デザイナーにとってはすでに十分な環境が整っています。要は知っているか否か、危機感があるか否かだけかの問題と言えるでしょう。

現代は、AI, ロボット , IoT 等をキーワードとする第4次産業革命の只中にあります。過去3度の産業革命では、大量の失業者を新たな産業が吸収してきましたが、現在の革命はこれまでとは違います。それ自体が人工的な労働者を生み出すわけですから、革命後の新たな産業に吸収できるのは高度なスキルを持ったわずかな人材のみとなります。
 人手不足が叫ばれてはますが、それは「高度なスキルを持った人材の不足」と「ロボットよりも安く使える低賃金労働者の不足」とに二極化していて、後者の問題は、ロボットの低価格化によってやがて消滅します。ロボットは 24時間働いても文句を言わないし、ルーチンワークのスピードと正確性においてはヒトを上回る能力を発揮します。この先数十年の間に大量の失業者が生まれることは、ほぼ間違いないでしょう。

人の仕事が機械に代替される順序は、1) 足、2) 脳、 3) 腕、4) 顔(表情)、5) 手・指 の順であると言われますが((鈴木貴博 , 仕事消滅 , 講談社 , 2017, p.76))、現代は「脳」の代替が急速に進んでいる時代だと言えます。AI におけるパターン認識機能は「ソフトウエア」であるがゆえに開発に要する費用が少なく、モデルが完成すれば瞬時に複製・拡散されます。その意味では、この過渡期において「ある日突然・・」の影響を受けるのは、「パターン認識」や「マニュアル化可能なサービス」に特化した知的作業を生業としている人たちでしょう。

結果として、知的作業の代替は、職業訓練のみならず、資格・受験産業、教育機関にも影響します。AI の能力はすでに TOEIC 試験で 900 点レベル、 私大模試でも偏差値 57((新井紀子, AI vs 教科書が読めない子どもたち, 東洋経済,2018))を実現しています。教育現場は、まさにこうした状況をふまえた改革を迫られています。第3次産業革命前の社会に求められた能力については、削除するか、あるいは優先順位を下げる必要があるでしょう。今頃になってプログラミング教育が叫ばれていますが、それは第3次産業革命時代に対応済みとなるべき課題でした。残念ながら、一部の成功事例を除いて、この国の IT 教育は完全に周回遅れの状況にあります((小川博, 初中等教育におけるプログラミング教育と一地方での実践, 芸術工学会誌 No.77, 2018, pp.50-51))。教育改革は喫緊の課題です。

クリエイティブといわれる業種においてもその代替は始まっています。定型パターンに単語をあてはめれば済む「天気予報」や「新聞記事」の執筆自動化はすでに実用段階にあり、また作曲、作画、小説の執筆(サポート)にも実績があります。さらに、AI が物理現象の観察から「仮説形成」を行った例もあ ります((Michael Schmidt, Hod Lipson, Distilling Free-Form Natural Laws from Experimental Data, 2009, Science Vol.324:コンピュータが、揺れる振り子の動きから、運動の法則を導出))。つまり、良質なデータさえあれば「研究論文」も書けるのです。人間の強みと思われてきた創造性も、すでに AI の能力のひとつとなっているのです。

さて、代替の最後は「手・指」ですが、ここに至るにはまだ時間がかかると予想されます。ロボットは「ハードウエア」であるがゆえに、その開発・製造・輸送に多額の費用と時間がかかるということと、ホムンクルス((脳の中の小人:脳外科医ペンフィールドによるヒトの大脳皮質上の運動野・体性感覚野と体部位との対応関係図))のイメージを見れば明らかなように、人間の手・指の感覚と運動には多くの脳領域が割り当てられており、その人工的な再現には、さらなる技術的な進化が必要だと予想されるからです。しかしいずれにせよ、そう遠くない未来に、現在我々が従事する仕事の多くが AI とロボットに代替されることになります。

もはや我々は、パターン化、マニュアル化できるようなスキル、すなわち、点数で評価できるような能力の開発にエネルギーを注ぐべきではありません。
 ヒトにしか感じることのできない身体的な感覚、他者との共感、問題意識と好奇心、それらの能力を伸ばすことに取り組むべきでしょう。

理想の未来と現状とのギャップを埋める方法を模索するのがデザイナーの仕事だとすれば、未来感なしに理想を描くことはできず、理想が描けなければデザインはできません。

AI がもたらす未来には脅威論も楽観論もありますが、確実に言えることは、この流れは止めることができないということです。すでに自動化可能な作業の多くが人から機械へと代替されており、その失業対策として、産業の効率化によって得た富を再配分する「ベーシックインカム」の社会実験も世界各国で始まっていますが、これを実現するには、その財源を AI とロボットが稼ぎ出す必要があります。
 社会を構成する全員が AI に関する知見と関心を共有し、その活用能力をもって生産性の向上を図らねばならないし、同時にその過程で未来に生じるであろう問題を予見して、「共感」を前提とした社会のルールづくりが必要になるでしょう。
 前の節で触れたとおり、AI の開発はインターネット革命を引き起こしたオープンな思想の上に進められています。その開発現場を見れば明らかなように、プロジェクトの多くが国境を超えてアイデアを共有し、関係者全員で議論を繰り返しつつ、プロトタイプの修正とテストを繰り返しています。政治がどうあれ、すでに世界はつながっているのです。
 理想を共有して、現実とのギャップを埋める。そのためには、技術をオープンにし、情報を共有できる環境を整えることが重要であると思います。

現代に生きる我々は、労働の対価として賃金を得て生活するということを常識と感じているが、そもそもこのような生き方をするようになったのは、ここ数百年の話に過ぎなません。貨幣は我々が無意識化した典型的な共同幻想のひとつに過ぎず、その価値は所与のものではないのです。労働を美徳とする価値観もまた、何世代にも渡る試練を耐え抜くために必要な呪縛に過ぎなかったのかもしれません。
 真偽は定かでありませんが、古代ローマでは「奴隷が働いてローマ人は議論に明け暮れる自由な身分であった」という話があります。本来 AI もロボットも、人間が自由を獲得するための便利な機械として考案されたのではなかったか。「失業」を「解放」と考えれば、未来の見え方は変わります。「奴隷的な仕事」から解放されて「新たな価値を創造する暮らし」へシフトする。これを理想と考えて、未来を見据えた能力の開発を早期に行うことが、我々にとって必要なことなのではないでしょうか。ほぼ無尽蔵にあるといっていい太陽エネルギーをうまく活用すれば、食料、生活に必要な物資と環境、そして AI やロボット自身を、持続可能な方法で生産し続けることができるはずです。
~
~

**APPENDIX

***参考文献
-日本経済新聞社編, AI 2045, 日経プレミア , 2018
-甘利俊一, 脳・心・人工知能, 講談社, 2016
-新井紀子, AI vs 教科書が読めない子どもたち , 東洋経済 ,2018
-井上智洋, 人工知能と経済の未来 , 文芸春秋 , 2016
-宇沢弘文, 人間の経済, 新潮新書, 2017 
-太田満久他 , TensorFlow 開発入門 , 翔泳社 , 2018
-小林雅一, AIが人間を殺す日, 集英社, 2017
-掌田津耶乃 , データ分析ツール Jupyter 入門 , 秀和システム , 2018
-鈴木貴博 , 仕事消滅 , 講談社 , 2017, p.76
-田中潤 松本健太郎, 誤解だらけの人工知能 , 光文社 , 2018
-西垣通, AI原論 - 神の支配と人間の自由-, 講談社選書, 2018
-日経コンピュータ, AI開発最前線, 日経BP, 2018
-日経ビッグデータ編 , Google に学ぶディープラーニング , 日経BP , 2017
-マーティン・フォード(松本剛史訳), ロボットの脅威, 日経出版, 2018 
-松原 仁, AIに心は宿るのか, 集英社, 2018
-矢野和男, データの見えざる手, 草思社, 2014
-吉川隼人 , 機械学習と深層学習 , リックテレコム , 2017
~

***関連ページ
-[[DataScience]]
-[[Data]]
-[[Statistics]]
-[[MachineLearning]]
-[[NeuralNetwork]]
-[[DataMining]]
-[[ArtificialIntelligence]]
-[[ArtificialIntelligence/Links]]
~
~
~