子供にプログラミングを教える方法

子供の為の最高のプログラミング教育を見つけていきます

子供のためのAIメモ20190518

AIを知り、子供達に分かりやすく伝える為、まずは情報収集です。AIというより、機会学習なのかな。

 

MIT Tech Review: 機械学習は「因果性」を発見できるか? 著名研究者がICLRで提案

AIの4大課題。子供に「どんなものがあると思う?」と質問すると色々楽しい答えが返ってきそう

1・公平性

2・セキュリティ

3・汎化可能性

4・因果性への取り組み

それぞれ、子供に分かるように言うとどうなるかな。

 

1 以前googleが画像解析で黒人をゴリラと判定していた。人間が動物と思われたらイヤだよね。

 

2 AIで守っているシステムがある。それを攻撃するAIは、守っているAIに色々攻撃して、どういう攻撃してなら効果があるのかを学習できる。どうしても攻撃側が有利。

 

3 機会学習は、「どんなシーンでも、良い手・正解が出せる、一般的なルール」を導き出したい。そのために色々な正解データ・不正解データを集めるけど、集めすぎると不正解データも正解扱いにしちゃったりするときがあって、一般的なルールはなかなか見つけられないんだ。

 

4 風が吹けば桶屋がもうかるって言葉、知ってるかな。

風が吹けば桶屋が儲かる - Wikipedia

風が吹いても普通桶屋は関係ないよね。機会学習は、「風が吹くと桶屋の売上がいつも上がっている」ということが、もしデータ収集して見つけられれば、その途中でなにが起こっているかは分からないけど、それを元に桶屋さんに「今日ハ風ガ強イノデ桶ヲタクサン作ッテオイタ方ガ良イデショウ」とオススメしてくれる。桶屋さんが、「なんでわかるの?」と聞いても「ワカリマセン」ってなる。

 

米下院情報委、中国の「問題行動」検証開始 社会統制に焦点 - ロイター

人工知能や機会学習は、世界各国で研究される分野で、基本的にその国での技術の使い方は他の国からとやかく言われる筋合いは無いのですが、アメリカが中国を牽制する形だ。日本は中国に問題があった場合、同様の対応を取るだろうか。

 

ナイキ、スマホで足を撮影すれば最適サイズのシューズが選べる「Nike Fit」 - CNET Japan

機会学習らしい使い方だ。

5人に3人はサイズが合っていない靴を履いているって、、、

アプリの中の学習データやレコメンドデータの大元は、Nikeの店員さんが入れていったのだろうか。よく日本の職人さんや、定年がきてしまう社員のスキルを機会学習させ、技術が消えないようにしていることは聞いたことあったが、Nikeはこのアプリで店員さんが不要にならないのだろうか。逆に店員さんがまだ必要だとすると、このアプリの意義はなんだろうか。

 

2019年CESアジアで披露される新たな技術トレンド:時事ドットコム

「5Gはスマートシティからデジタルヘルスや自動運転車まで、あらゆる業界で革新を推進しています。」5Gについては、今までよりもネットが早くなる?位の認識しかなかった。

改めて情報収集したほうがよいかな、、、

 

 

 

プログラミング教育にロボットは必要か

ひと昔前では無かったプログラミング教育の一つに、ロボットによるプログラミング学習があります。

昔に比べ、優れたハードウェア、ソフトウェアが安く手に入る状況となり、子供向けにも様々な学習用ロボットが出ています。

 




■レベル 初心者向け

 

COZMO (コズモ)

COZMO (コズモ)

 

 
なぜこれを先に紹介したかったか、というと、「かわいい!」からです。他のロボットプログラミングが可能な教材は、なぜかどれもゴツゴツしていて、なんとなく男の子向きのような見た目です。


それに対してCOZMOは、丸みを帯びていて、電源を入れると目が表示されてかわいい!
タカラトミーが出していて、日本語化もバッチリ!
あまり紹介している人がいなかったのがもったいない。
執筆時点ではCOZMOの画像が?になっていますが、実際に飛んでみると画像がありました。


■中級者向け
LEGO®マインドストーム®EV3
これさえあれば、ロボットプログラミングのかなりの部分をカバーできます。センサーの数も多く、ただ単に動くだけでなく、外界の状況を読み取って、まさに「ロボット」として動かすことができます。

教育版と玩具版があり、上記リンクは教育版です。

よく、「教育版の方が良い!」という記載を見かけますが、もしお子様がそれほどプログラミングに慣れておらず、安く手に入れたいのであれば、玩具版でも充分かと思います。すぐに使いこなせるほどのものではないので。

教育版がどうしても欲しい、という方は上記リンク「レゴエデュケーション」の正規販売代理店であるアフレルのサイトに行けば購入でします。

 

ちなみに玩具版はこちら

レゴ (LEGO) マインドストーム EV3 31313

レゴ (LEGO) マインドストーム EV3 31313

 

 

アフレルのサイトを見て特に印象的だったのが、沖縄の姉妹の特集。国際大会で優勝。

ev-3.net

 

初めての体験教室の時、子供はとても楽しかったんでしょうね。
すべての子供がこの姉妹と同じ体験ができるわけではないですが
才能が飛び抜けるかもしれない、その機会に出会えるということは
とても重要だと思いました。 
 
 
■上級者向け

一応初心者から上級者まで大丈夫と言われていますが、初心者の子供だけだと厳しいのではないか。もしお父さんお母さんがPCに詳しければ、サポートありでこちらから入るのもありかもしれない。

 

Raspberry PiPythonによるAI・機械学習と相性がよく、我が子がもう少し成長したら、、、とチェックしています。

 

公式サイトを見ていたらなんかすごいの見つけてしまった

www.rs-online.com

前澤氏とマスク氏!

 

私個人としては、ロボットがなくても十分プログラミングに関する考え方やスキルは身に着けることができると考えていますが、沖縄の姉妹のように、ロボット教室がきっかけでプログラミングを学びたくなるケースもあると思うので、もしご家庭に時間と予算があれば、ロボット教室や、実際に購入して自宅でロボットプログラミングをやってみてはいかがでしょうか。 

子供のためのAIメモ20190517

これからは、定期的に、子供の為に、世の中のAIや機会学習に関する情報を分かりやすく説明するため、収集した情報をメモがてらアップしようと思います。

 

足の速い分野なので、昔言ってたことが今日から変わるのもあると思いますが、逆に最新分野はそういうものである、ということもいいたいな、、、

 

 

AI技術専門スクール「AIジョブカレ」が新講座【ケーススタディ実演講座】を開講。経験豊富な実務家講師のもと5月17日(金)からスタート:時事ドットコム

社会人向けのAI講座ですが、視点を変えて見ると、ECサイトのオススメ商品表示、手書き文字の判別、画像による不良品チェック、どれくらい物が売れるかの予想、ちょっとした会話の自動化ぐらいであれば、「講座」として教えられるくらい当たり前にできることになってきています。子供達にAIを教える際にはそれを前提に話さないと。使うのが当たり前の世界がある。

 

「3つの不足」にどう対処する?:「すごいエンジニアを血眼になって探す」より現実的なAI課題解決方法とは - TechTargetジャパン

AIを活用したくても 人材不足 スキル不足 データ不足となるケースが多い。お金のあるところは外部に委託するとか、有償サービスをつかって解決と思われますが、子供達にはできないので、無料のデータを提供し、人材不足とスキル不足は自分でやれる!という方向の教育をしようっと。

 

MIT Tech Review: AI規制を求め新法案、 米国議会の「本気度」

AI規制についての考えは日本でもあり。

AIの判断、企業に説明責任 ルール作りへ政府7原則: 日本経済新聞

それぞやりたいことが違う。どこからこの違いがきているのか。ヨーロッパや中国など、それぞれの国の方針を理解すると解けそう。子供に考えさせる題材として仕えるかもしれない。

 

【電子版】マイクロソフト、アフリカに開発拠点 ケニアとナイジェリア、100億円超投資 | ICT ニュース | 日刊工業新聞 電子版

ケニアとナイジェリアにAI技術者がいるとは思えない。恐らくだが、AIの「データ不足」対策のため、現地でAI用データ収集作業が始まるのではないか。単金安いし、労働力はかなりありそう。

 

図解でわかる 14歳から知っておきたいAI

図解でわかる 14歳から知っておきたいAI

 

AIを歴史から、絵も使いながら説明してくれるので読みやすい。ただ、小学生にひとりで読ませるのはきついか。

 

親が読んで、面白い!と思ったところを図も見せながら、子供に説明してみるとよいかもしれない。双方勉強になる。

 

今日はこのあたりで。

プログラミングと教養

これからの子供達にはプログラミングが出来るようになって欲しい、とは常日頃思っているのですが、その一方、知識が偏りすぎないか、プログラミングが、その他の勉強と比べて上等な、優れているものと思ってしまわないか、も懸念しています。

 

私自身は、我が子がプログラマーになって欲しいとは思っていません。ただ、プログラミングできるスキルや、それを応用して何ができるのかを考える力をつけてもらいたいと考えています。応用させるためには、幅広い知識が必要です。

 

日本の義務教育では、幅広い知識よりも、国語・算数・理科・社会・英語ができれば、特に問題なく過ごせます。得点が良ければ羨望の眼差しです。

 

教科書通りのこれらの知識だけでは、プログラミングの応用力という点ではかなり不安があります。

 

しかし「幅広い知識」というのはどういったことを学べばよいか、広すぎてわかりません。

 

海外では、「幅広い知識」をどうやって身につけているのでしょうか。

 

リベラルアーツという言葉を聞いたことがあるでしょうか。

 

リベラル・アーツ - Wikipedia

 

簡単にいうと、一人の人間が備えておくべき教養のことで、日本では馴染みがありませんが、一部の大学で導入されてきています。

 

音楽や弁論などもありますが、日本人の感覚では、それを「学ぶ」という感覚を持っている人は少ないと思われます。

 

現在のトップレベルのビジネスマンの中には、いわゆるお金を稼ぐ力はもちろん、博士課程も複数持っていたり、芸術に造詣が深い方も多いそうです。

 

プログラミングを学ぶ子供達は、いずれ世界に出て活躍して欲しいのですが、技術だけの会話では済まないビジネスの世界。

 

プレゼンテーションを気に入ってもらえるよう、アイデアや技術力を高めるのはもちろんのこと、パーティーや食事会、雑談の際に、自分を覚えてもらい、気に入ってもらうためには、教養が必要です。

 

ただ、日本いると、大学で「リベラルアーツ」を扱っているところに行ったとしてもグローバルな知識がつくかどうか疑問です。

 

ジャーナリストの山田順さんが分かり易くまとめていただいています。

toyokeizai.net

 

toyokeizai.net

 

日本で学ぶところがないのであれば、親が学んで家庭でやるしかないです。

以下の本が参考になります。有名な本なのでご存じの方も多いですね。

図書館にもあると思うので、もし買うのが難しい場合は図書館へGo!

 

 

ライフネット生命の出口さんの話も参考になりました。 


 

 

親子で今後学習計画をされる際は、子供が自然に興味を持ち始めた分野は、子供自身に極力まかせるのが一番です。

ただ、そうはいっても任せるのは難しい。

 

以前の記事でも取り上げた、プログラミングコンテストで総合優勝をとった宮城君のママのお話が参考になります。

 

www.excite.co.jp

 

以下、サイト一部抜粋、太字はこちらでつけました。

プログラミングをしているのか、休憩をしているのか、傍目にはよくわからないことが多いですね。ちゃんとプログラミングが動いているときは進捗でわかりますが、バグで困っているときはさっぱり。遊んでいるときも、プログラミングをしているときも、パソコンに向かっているだけなので、プログラミングをサボっているのか判断しづらいです。勉強でも一緒なのだけれども、教えたことができないとお互いにフラストレーションがたまってしまいます。それで機嫌が悪くなって衝突してしまうこともあり、苦労しています

 

 

優勝するような子供を持つ親でさえ苦労するのであれば、一般的な私たちはさらに苦労するはず!

 

私も毎日試行錯誤しながら子供に最高の教育が何かを考えていますが、なかなか効果があるのかわかりません。

 

ただ、一つ言えることは、一生懸命考えたお題が、子供に楽しんでもらえた時、とてもうれしい!ということ。

 

まだ教えたいことが山ほどあるのですが、子供がわかるようなところまで落とし込むのに時間が掛かっています。

 

このブログで少しずつ考えをまとめ、その結果をお知らせできればと思います。 

かけっこ教室とフォームチェックと機会学習

最近、子供のかけっこ教室に行きました。

 

感じのよい先生で、指示も分かりやすく、これから運動会にかけて、こどものフォーム改善をしていきたいと思います。

 

単に練習していくのも良いのですが、なにかプログラミングで効率化できないものか。

 

今後子供達は、機会学習や深層学習、AIを、ごく自然に、道具のように使うと思われ、それを教育する大人も、使いこなせるようになっておきたい。

 

そうだ!機会学習で我が子のフォームチェックをしてみよう!

 

フォームの改善度合いをチェックして、練習後フィードバックしてあげたいです。

 

使えそうなサービスを探してみました。

OpenPose

http://openaccess.thecvf.com/content_cvpr_2017/papers/Cao_Realtime_Multi-Person_2D_CVPR_2017_paper.pdf

PoseNet

https://arxiv.org/pdf/1803.08225.pdf

 

OpenPoseが検知能力が高そうですが、色々インストールするものがあるようで、うちの貧弱で空き容量の少ないノートpcでは無理、ということでPoseNet を選択。javascriptでいけるというのも、開発時間があまり取れない身としては助かります。

 

やりたいことの道のりは遠そうなので、何段階かに分けてみます。

 

1. PoseNetを使った簡単なゲーム作成

2. 1で特定の姿勢(決めポーズとか?)で必殺技だす。

3.  録画した動画でも1のゲーム可能にする

4. 走る動画から、フォームを部分的に定義して実際に認識できるようにする(右足着地 左足着地 右足蹴り上げ 左足蹴り上げ 等)

5. 良いフォーム、悪いフォームの定義(どうやろう、、、)

6. 我が子のフォームと理想のフォームを差異を見せながら、フィードバックしてあげる

 

 

 

スポーツの動きを分析する研究を調べてたところ、気になる論文を見つけました。

 

HMDを用いたスポーツスキルの学習方法の提案

 


B .目標 の み :学習者は HMD を通 して 提示 され る ゆ
っ く りと し た 目標動作 に あ わ せ て ス イ ン グす る .
C .リアル タイム フ ィ ードバ ッ ク : HMD に ゆ っ く り
と し た 目標動作 と学習者の 全 体像 を表 示 し, 学
習者は そ の 誤差情 報を見 な が らス イ ン グす る ,

→簡単にいうと、Bは見本を見ながら見よう見まねで練習する、よくある練習方法。これだと見本の動きとのかけ離れた動きになったそうです。Cは自分の動きと見本の動きの差を見せながらの練習で、これだと誤差が小さくなる、という研究結果が出たそうです。

 

また、機会学習といっても、ここまでだと単に画像解析です。

番外. フォームデータの収集と学習で理想のフォームを見つける

 

大量の子供達のかけっこデータなんて既存でないだろうから、いちから集め直しかな、、

 

これを6月の運動会までにやるのは厳しそう、、、。まずは我が子のかけっこ動画をとって、我が子にその動画を見せながら色々直してあげようかと思います。

 

小学生向けProject Euler計画 その1(結果)

以前の投稿

小学生向けProject Euler計画 その1 - 子供にプログラミングを教える方法

 

で、自然数の合計を求める問題を作成したので、早速我が子に出してみた。

 

結果は、、、まだまだ改善の余地ありでした。

 

まず問題文が分かりづらかった(後ほど修正)

出したときは、なんとか意味を伝えて分かってもらえた。

 

我が子のクラスには35人いるらしいです。

 

増えるイメージを具体的に示したく、

以下の式を書いてあげました。

1

1+2=

1+2+3=

1+2+3+4=

1+....+9+10=

...

 

これを見せた後、少し計算し始めました。

おお!いいながれ!

 

その後少し悩んだあと、答えがきました

「35分!」

 

(けっこう増えるのに時間かかると思ったのかな・・・)なんでそう思ったの?と聞くと

 

「35人いるから!」

 

やられた!

「で、でも、34分後には34個できるので、ほとんどみんなに渡せるし、もう少し前にそろうんじゃないかな、、」

 

でも、その後我が子はこの問題に飽きて、別なことをし始めてしまった。。。

 

残念ながら、これ以上の継続は出来なさそうなので終了としました。

 

条件として「最短時間で」とか、「そのとき何個になる?」とかを聞かなかった私が良くなかったのですが、我が子ながらさすが。。。

 

問題の出し方にもう少し工夫しないと、、、以下を考え中です。

 

第1 計算させてしまう

合計が35までぐらいなら、実際に計算出来る範囲だろう。

 

第2 ガウスの考え方で解く

1+2+3+4+5+6+7+8

8+7+6+5+4+3+2+1

それぞれ足して

9+9+9+9+9+9+9+9=72

72/2=36

 

でも、割り算が出来ないときついな。

 

第3 プログラムを改良する(数を1ずつふやす)

 

8を越えるまでネコがしゃべるプログラムを作成する。あえて以下のように繰り返しは使わないものを作りました。繰り返しが出来たら合格。変数の増やし方は敢えてプログラムっぽく、変数の値+1を変数にいれてみる。

https://scratch.mit.edu/projects/306947092/

 

 

第4 プログラムを改良する(加算)

第3のプログラムを元に、ネコが言った数を合計していく。合計用の変数を新たに使う必要があるので、分かりにくくなるな、、、これも、ループが出来たらいいかな。。。

https://scratch.mit.edu/projects/307099148/

 

 

紙面の計算でやりきろうとすると、積商や九九が途中の計算ででてくる。その点、プログラミングで愚直に足し算していくと、大きな数でも難なく答えが出るのは、子供にとっては便利に感じてくれるかもしれない。。。

 

小学生向けProject Euler計画 その1

f:id:teramethod:20190916223600j:plain

 

わが子には、プログラミングを学んでもらいつつ、算数・数学の素養も付けてもらいたい。

 

勝手にやろうとしている小学生向けProject Euler計画ですが、サーバを用意するのも今は難しいので、とりあえず問題だけも考えてみようと思います。

 

1問目は、やはり自然数の和を持ってきたい

1+2=3

1+2+3=6

1+2+3+4=10

・・・・

1+2+3+・・・+99+100=?

 

普通の教え方では、まず計算させてみるだろう。5分ぐらい?

手で計算するのは大変であることを実感してもらう。

 

でも、このあたりは対面式での授業でないと厳しいかもしれない。

ネット上だと子供が飽きて試行錯誤せず答えを知りたがる。まあ大人でも一緒ですね。

 

我が子に先ほどの問題を出したことがあったのですが「難しい!」色々考えてみようか。いろんな解き方があるかも。「もう思いつかない!」まあそうだよね。

 

ただ、最近、クイズにハマっているようで、子供用のクイズはもちろん、大人も悩むようなクイズを(正解は無理だとしても)考え続けられることがわかった。

 

たとえば以下のクイズは、移動しながら、何回か中断しながら、色々回答してくれた。

 

なぞなぞランド|超難問スッキリなぞなぞクイズ-4人の囚人

 

謎解きの要素があった方が燃えるのは心情としてはわかるので、自然数の和に絡んだ謎、ミッションを作ってみよう。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 

とんでもない機械を発明してしまった。

増やしたいものを登録すると、かかった分の数が生まれてくるものだ。※5/4 見直すと解りづらい文章だったので修正

 

例えば、ケーキを登録する(ケーキ1つを★にしてみよう。)

1分後 1つできる(★)

  合計 1個

 

2分後 2つできる(★★)

 合計 1+2=3個

 

3分後 3つできる(★★★)

 合計 1+2+3=6個

 

、、、

 

どれか食べてしまうと、もう増えなくなる。1個目から食べないでおいて、何分後に、自分の学校のみんなに分けられるだけ増えるだろう。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 

 

 

 

単純な数の和の問題を、身近なことに紐付ければ興味を持ってくれるかな、、。答えるのは「何分後」なので敷居も低くなった。

 

 

一般的な回答方法としては以下を教えたい 。

けど、「教えない」のも1案かもしれない。

 

 

① 法則を見つけて解く(ガウス

小学校3年生位のガウスという少年の話をすると刺激になるかも。

 

1+2+3+・・・+98+99+100

100+99+98+・・・+3+2+1(逆から並べた足し算を用意する)

それぞれ順番に足すと

(1+100)+(2+99)+(3+98)+・・・+(98+3)+(99+2)+(100+1)

101+101+101+・・・+101+101+101(100個)

101×100=10100

最後に÷2をして 10100/2=5050

 

②平均で解く 

 1+2+3+4+5+6

    →(1+6)/2=3.5 3.5*6=21

   1+2+3+,,,+98+99+100

   (1+100)/2=50.5

 50.5*100=5050

平均の考え方が分からないと難しいか。

図も欲しいな、、

 

③法則を見つけて解く(数式)

n(n +1)/2

シグマ知っている高校生くらいからかな。

 

 

表計算ソフトを使って解く

Microsoftのエクセルやgoogleのスプレットシートで数字を1ずつ増やしたものを全て選択してしまえば、合計がでる。

 

⑤プログラミングのループを使って解く

scratchで書くとこんな感じか

https://scratch.mit.edu/projects/306578930/

 

プログラミングで解くことは簡単ではあるが、知的かどうかというと疑問に思えるかな。

 

今日本屋でみたら、以下の茂木健一郎さんの本でも、子供は「探求心」をもたせると、自分でおのずから進んで勉強に取り組むらしく、今回クイズ形式にしたのはよかったかもしれない。

あとは、小学生のみんなに、考えてもらう工夫だな。。。