表現手段としてのAIプログラミング教育
AI as a tool
2016.10.25
Updated by Ryo Shimizu on October 25, 2016, 05:57 am JST
AI as a tool
2016.10.25
Updated by Ryo Shimizu on October 25, 2016, 05:57 am JST
先日、初の義務教育段階の児童・生徒が全国規模でプログラミングの表現力を競う、全国小中学生プログラミング大会の最終審査会と表彰式が開催され、大盛況のうちに終了しました。
小中学生全ての作品を通じて最も優れた作品に授与されるグランプリ・総務大臣賞に選ばれたのは小学5年生の長男をリーダーとする三兄弟のチーム「Kohacraft.com」で、高い実装能力とテーマに沿った作品作りが評価されました。
上位入賞者を見渡すと、パソコン教室やプログラミング教室の経験者が多く、まだまだ義務教育段階にプログラミング教育を取り入れていった成果とは言い難いものがありますが、今後、2020年までにもっと幅広い子どもたちがプログラミングで自分を表現するというスキルを身に着けていくのではないかと期待しています。
ただし、前回の本欄でも指摘したように、筆者は義務教育段階で従前のプログラミング教育を行うだけではもはや不十分ではないかという見解を持っています。
筆者らが自ら運営するプログラミング教室でも、AIプログラミングを教えていく必要性をつとに感じています。もともとは最初の一年でJavaScriptをマスターし、次の一年でPythonに進むつもりでしたが、どうやらそう呑気なことも言ってられない、というのが最近の見解です。
ほぼ毎月のように様々なところで大人向けに人工知能のセミナーを開催したり、夏休みには子供向けのセミナーをやったりした経験から、実はAIプログラミングに関しては大人も子供も理解力や適応力に大きな差がないということを実感として持っています。
それどころかAIのより柔軟な活用というアイデアレベルにおいては基本的に子供の直感が大人のそれを軽く上回ります。
ということは、むしろ純粋に研究開発のヒントを得るという点に於いても、日本の未来を考えるという点においても、大人と子供を分けて教育を施す必要性が減っているとも言えます。
むしろ子供の柔軟な発想力を間近に感じて、刺激を受けたほうがより深い理解を得られる可能性さえ考えられるのです。
ではAIを子供に教える時に、どこからどのように教えるべきか。
大人は座学が好きです。これは筆者の個人的な体験でもそうですし、大人全般は自分の頭を働かせるよりも、ただ話を聞くだけのスタイルの方がストレスなく勉強できます。
しかし座学では基本的にはスキルはあまり身につきません。
講義形式の場合、せっかくお金を払って習いに来たのについつい眠くなって寝てしまう、ということもあります。
そこで筆者は相手が大人でも子供でもまず写経してから原理を解説する写経方式を採用しています。
写経によって覚えるようにすると、比較的入りやすいのです。
写経が持っている教育的効果は極めて高いものです。
プログラミングに限らず、人間から発せられた言葉なり概念なりというのは、どこか歪んだところがあります。
耳で聞いて、目で図を見て、というだけでは自分が本当にそれを理解したのか確かめることは困難です。
ところが写経をしてみると、自分がどこで勘違いしていたのかわかる手がかりになります。
まったく意味がわからなくても、自分が勘違いした場所を見て、なぜ自分が勘違いしたのか考えると、「スッ」とより深い理解へ進んでいけるのです。
反対に、あまりにキーボード捌きが上手くてタイプミスしないで入力できてしまうと却って学習する機会を逃してしまいます。
まあいわば、人工知能の学習で言えば、勘違いしてタイプミスしたということは「損失(loss)」であり、人工知能が損失から勾配を求めて学習するのと同じで、人間もまたミスを犯すことによってより深い学びを得ることが出来ます。
写経無しでの座学では、損失を得る機会がないため学習が進まないのはよく考えると当たり前と言えば当たり前ですし、世の中のセミナーの中には、筆記試験のようなものを用意する場合もありますが、筆記試験で得られる損失は問題数ぶんしかありません。また、問題が難しすぎるとそもそもついていけなくなってしまうという欠点もあります。
写経の場合、お手本と同じように入力するという非常に単純な課題ですから、取り組む前に諦めてしまうということはありませんし、よほどのキーボード名人でも、一度や二度は見間違いやミスをするはずです。
また、写経する例題に意図的にバグを混入させておいて、どこにバグがあるか、自分で修正させるという方法も効果的です。これはいわば強制的に損失を発生させる方式です。
筆者ら、1976年生まれを俗にナナロク世代といいます。
ナナロク世代は昭和52年に行われた教育改革によって、従来に比べて非常に高度な数学を義務教育段階で学ぶことになりました。その結果、大量に落ちこぼれる生徒と教師がでてしまい、より良い教育を受けるには偏差値の高い学校に通うしかないが、そのためには学校外の塾に通う必要があるという悪循環が生まれました。
昭和52年の教育制度改革は、コンピュータ技術の台頭に適応するためでした。そして今また、いやむしろ今更、プログラミング教育が義務教育に取り入れられようとしているのは、AI時代に適応するためと考えるべきでしょう。
もちろん、3年ほど前に山本一太大臣主催の聴聞会で、世界最先端IT国家創造宣言の修正案として「義務教育段階でのプログラミング教育」を入れるよう主張した人間の一人として思えば、その段階ではAIのことなど全く想定していませんでした。
しかし、今やプログラマーに求められる仕事の性質は、AIによって近い将来に代替されそうなことばかりです。
その上でなお、プログラミング教育を考えるとすれば、これはAIという新しい道具を使いこなすためのツールとしてのAIプログラミングを学ぶことが、我が国の子どもたちにとって将来必ず役に立つことが期待されるからです。
AIプログラミングに求められるのは、もはや数学的知識ではありません。もちろんAIの基礎的なプログラムを組むには数学の知識が多少は必要ですが、必須とは言い切れません。グラフィックスのプログラミングをするのに離散コサイン変換やデジタル積分解析の知識が必ずしも必要ではないように、今のAIプログラミングは数学的な要素はほとんどでてきません。
むしろ重要なのはより柔軟な発想で、AIに何を学ばせるか考えることと、学ばせたAIをどのように利用していくかを考えること、つまりAIを道具として使いこなそうとした時にどのような創造性を発揮できるかということです。
そしてこれは、児童・生徒の創造性を伸ばすという現行の文科省が掲げる「脱ゆとり教育・生きる力を育む教育」という方針とも奇しくも合致します。
大人はついつい「何を学ばせたらお金が儲かるか」「なにをしたらラクができるか」といったことに目が行きがちですが、たとえば筆者が8月に子供を対象に開催したAIプログラミング教室では、児童の一人は「レタスとキャベツとブロッコリーをAIは見分けられるか」というテーマを見つけ、自分でネット上で収集したレタスやらキャベツやらの写真をAIに学習させていました。
たしかに、レタスとキャベツを見分けるのは人間でも下手をすれば難しく、それがAIにできるか確かめたい、というのは非常に自然な欲求の現れだと思います。
ペットを飼ったり、兄弟と遊んだりするようにAIを手懐ける教育。
52年体制のなかで落ちこぼれた正規学校の教員にかわり、学習塾の先生が子どもたちに学びを提供したように、プログラミングが義務教育化されると、街のプログラミング教室の役割がぐんと強まるはずです。
UEIが主催する秋葉原プログラミング教室では、こうした時代の到来をにらみ、学校の先生およびプログラミング教室の先生を対象とした、「プログラミングの教え方教室」を開催予定です。
日本全国津々浦々に、プログラミング教室が必要になるはずです。
生きる力のとしてのプログラミング能力は、それ単体で役に立つのはもちろん、来るべきAI社会を生き抜く上で必須スキルになっていくでしょう。
そして未来を切り開く子どもたちに、少しでも多くの選択肢を与えてあげるのが我々、親世代の義務ではないでしょうか。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。