ITスペシャリストが語る芸術

-The Kay Notes-
SE、プログラマー、AI開発者、教育研究家、潜在意識活用研究者、引きこもり支援講師Kayのブログ。

プログラミング学習

当ブログは、第一期ライブドア奨学生ブログです。
◇お知らせ
[2019/12/28]AI&教育問題専用ブログ、メディアの風を公開しました。
[2017/03/01]「通りすがり」「名無し」「読者」「A」等のハンドル名のコメントは原則削除します。
[2011/06/08]迷惑コメントが多くあったため、やむなく、コメントを承認後公開することとしました。

プログラミング等のスキルを努力なしに得る

難しいものも含め、何かのスキルを身に付けること、あるいは、資格の取得、受験の合格も、最大の効率で行うコツは、皆、同じだ。
それは、気分良くやることだ。
逆に言えば、気分良くやれないなら、やらずに済むならやらないことを、強くお薦めする。
いや、はっきり言って、気分良くやれないことはすべきでないと思う。

英語教育業界(官民含め)の宣伝では、「これからの国際社会で英語は必須」なんて大嘘を昔から言っているが、英語をやって気分が良くないなら、やらない方が良いだろう。
どうしてもやるなら、自分の責任で、気分良く取り組むべきである。
でないと、時間と金の無駄になる。
(尚、日本が衰退する中で、英語業界の思惑とは全く関係ない理由で、英語や中国語の重要性は確かに上がっている。)

この宇宙は、気分が良いと、さらに気分が良くなることが起き、気分が悪いと、さらに気分が悪くなることが起こるようになっている。
絶対的にね。それは、歴史的、経験的に確かだが、今や、科学的にも解明されようとしている。
そして、何かの勉強や訓練をする時、それが実を結んだ際に心が躍るほどの気分の良さが得られそうもなかったり、勉強や訓練が、努力と感じて気分が良くないものなら、果たして、自分のためになるかどうか疑問である。
これからの新しい時代においては、「楽しくなければ、勉強や訓練ではない」のである。
いや、本当は、大昔から、そう主張していた賢い人はいたのだが、権力者や支配者には都合が悪いので、庶民には、そうさせなかっただけである。
上層の人間にとって、庶民は、奴隷のスキルを磨いてくれれば良いのだからである。
しかし、そんな時代は、いい加減、終わらせたい。

例えば、プログラミングの勉強も、気分良く出来るかどうかだけが問題である。
IQテストでも標準の頭脳である私が、全く努力せずにプログラミングをマスター出来たのも、気分良くやっていたからに他ならない。
確かに、修行中(この言い方も止めた方が良いが)、私は、毎日のように、プログラミングの本を買い、深夜の2時過ぎまでパソコンに向かっていたが、それが単に、面白かったからである。
ただ、私の場合、たまに気分良くやれないこともあったので、時間がかかったり、スキルがなかなか高くならなかったりしたのだ。
では、どうすれば、プログラミングの勉強が楽しくなるか?
それは、実際はそうでなくても、プログラミングを既にマスターしていると思い、その気分の良さを感じれば良いだけだ。
プログラミングを深くマスターしたことで、周囲から丁重に扱われ、好きな仕事を、誰にも指図されず、自信たっぷりに楽しくやれる愉快さを先に感じるのだ。
それで気分が良くなれば、その状況が当然のように現れるのである。
『ザ・シークレット』のDVDで、信頼を感じさせる教師の1人が、こう述べていた。
「自分は既に豊かだ、健康だと思って良いのです。たとえ、実際にはそうでなくても」
それで気分が良くなれば、ほどなく、自分が願っている通りになるだろうが、逆に、気分を良く出来ず、今が貧しいからとか、病気だからと悪い気分でいれば、なかなか良い状況にはならないだろう。













当ブログ著者、KayのAI書。
実用的なAIを作るために、最も大切なことは、AIのセンスです。
AIのセンスとは、問題を、推測問題に捉え直し、データを整えることです。そのためには、数学も、プログラミングも、難しいAI理論も不要です。
必要なものは、Excelが使える程度のスキルです。
また、この本では、類書に見られる、無味乾燥で退屈なテーマではなく、「モンティ・ホール問題」(クイズ番組で行われた簡単なゲームだが意外性があって面白い)を始め、なるべく楽しいテーマを採用しました。
人間には、なかなか解決出来ない問題を、実際にAIに解かせることで、簡単にAIの威力を実感出来、そして、自分にもAIが作れることが解ると思います。
本書の、ほぼ全ての実習が出来るデータを作ることが出来るExcelマクロ(VBAプログラム)を、出版社サイトから無料でダウンロード出来ます。

秘伝のプログラミング習得法

もし、私がカウンセリングを行う場合。
私が分かる範囲で言えば、例えば、
「プログラマーやシステムエンジニアになりたい」
「ニートなので就職したい。その場合に有利になるスキルを得たい」
「働いてはいるが特技がない。ITスキルを得て、その方面の職場に変わりたい、あるいは、そのスキルを生かした仕事をしたい」
あたりなら、十分にアドバイスが出来ると思うが、本来、そんなこと、人に聞いても仕方がないことだ。

スキルが欲しければ、勉強すれば良い。
だが、皆、学校で変な勉強の仕方を教えられて・・・というより、勉強の仕方が分からないようにさせられているのだと思う。
勉強というのは、1日中やるものだが、そう言うと、「そんなことは出来ない」と言う。
どうも、勉強や訓練や修行と言うと、大昔なら『巨人の星』、今なら、『鬼滅の刃』のように、いつも力み、緊張し、一心不乱に、ぶっ倒れるまでやる・・・みたいな阿呆なイメージがあるのだと思う。
そんなもん、怠け者の私なら5秒くらいしか出来ない。
だが、「ちゃんとした勉強」なら、私でも1日中出来る。
それ(正しい勉強法)は、「そのことについて意識する」ことである。

例えば、Excelなどに搭載されているVBA言語をマスターするなら、まず、本を1冊買う。今は、沢山の優秀な人が、競って良いテキストを書いているので、ハズレはない。
それで、本を眺めていたら、なんとなく、ぼんやりとした雰囲気が伝わってくるだろう。
最初から終わりまでパラパラと見たり、適当に真ん中あたりとかをぱっと開いて、そこをじっと見る。
すると、心が反応するかもしれないし、しないかもしれない。
気が向いたら、文を読んでも良い。やってはいけないことは何もないし、やるべきことも何もない。
後は、スマートフォン並にいつも本を携帯し・・・あるいは、スマホに電子書籍を入れ、出来るだけ多く本を開くことだ。
無料のネット講座や、YouTubeの講座を見つけて、それを眺めても良い。

また、本当にマスターしたいと思っていたら、パソコンでやってみたいはずだから、本に書いてあるプログラムをタイプしてみれば良い。
Excel VBAの場合、プログラムを書くためには、Excelに簡単な設定をしなければならないが、そんなことは、本を見たり、検索すればすぐ分かる。なかなか分からないとしても、とにかく調べれば分かることだから調べる。そんなことまで教室で、あるいは、誰かに教わろうなんて根性が一番良くない。

もし、VBAが出来る人が身近にいれば、プログラミングしているところを眺めさせてもらえば良い。それがまた効くんだ。
私がかつていた職場では、私しか出来ないことで、他の人も興味を持っていたことがあったはずなのに、なぜか、私がやっていることを見に来る人がいなかった。彼らはみんなリストラされている。まあ、嫌われていたのかもしれないが(笑)。
良いプログラムをそのまま書き写すことを、IT業界では「写経」と呼んでいるが(本来の「写経」はお経を模写すること)、「写経」の威力は、優秀な人ほど認めている。
私など、写経だけで覚えたプログラミング言語が多い・・・というか、実質、勉強は写経だけだったような気もする。

上に挙げたようなことを、1日中、起きている間、ずっとするのである。
まあ、アニメ見ながらプログラムのことを考えるのも、やっている範囲に含めて良いが(笑)。
実際、プログラミングの訓練を意識していれば、ゲームも運動も食事もプログラミングの訓練になる。
しかし、なるべく、本を開くか、タイプする方が良い。

問題は、「私に本当にプログラミングが出来るようになるのだろうか?」という想いを起こさないことだ。
それに関しては、心をよく見張っていなければならない。
そんな弱気が起こったら、3つの武器を使う。
すなわち、笑顔とガッツポーズと「絶好調」とか「大丈夫」などの口癖(あるいは呪文)だ。
良かったら、引き寄せの本を1冊読むか(それもプログラミングの勉強に入れても良い)、オーディオCD付の引き寄せの本を買って、それを聞き、心を肯定的にすることだ。
引き寄せは、目で読むより、耳で聞いた方が効果があるという説もあるようだ。













当ブログ著者、KayのAI書。
Excelを使うスキルがあり、数学やプログラミングは駄目だが、実用AIを自分で作れるようになりたい方に、特にお薦めします。
また、深層学習フレームワークとPythonでAIを作る本に挫折した人、あるいは、自分でAIを作れるようにならなかった人にも。
普通の概念で分かる問題でAIツールの使い方を習得し、面白い問題にAIで取り組むことで、自分で実践的なAiを作るセンスを得られるよう工夫しました。

プログラミング学習は、1人で本から始めよう

プログラミングは誰でも出来るかについて、世の中に本当にいろんな説があるが、この分野で著名な人々の意見は、概ね、プログラミングには才能が必要ということと思う。
しかし、私は著名な人の意見であっても信用しない。

プログラミングが出来ない人というのは、私が知る範囲では、ハナからプログラミングに興味を持っていない。
いや、例外が1人いて、私が「まるで駄目男」と呼ぶ本当に駄目な男が、私がプログラミングを勧めると、大いにやる気を見せたが、さっぱりだった。しかし、それは能力の問題ではなく、彼が、プログラミングを甘く見過ぎていて、必要な粘りを発揮しなかっただけだ。

「まるで駄目男」は、地頭は悪くないと思う・・・分からないが(笑)。
そして、私には、この「地頭」という言葉がひっかかる。
地頭とは、生まれつきの頭の良さみたいな意味と思うが、そのようなものが、あるかどうかも私には分からない。
優秀な親の子供は優秀だと言うが、それは単に、家庭環境の問題で、優秀な親は、子供が知性を発達させる良い環境を与える可能性が高いだけかもしれない。
とはいえ、生まれ、育ちの両面を考えれば、やはり、地頭の良し悪しはあるのだろう。

ドワンゴ創業者の川上量生さんが、著書だったか、何かのインタビューだったか忘れたが、「地頭が良ければプログラミングは出来る」と言われていたが、逆に言えば、地頭が悪ければ出来ないということだろう。
その川上さんは、物理学者の竹内薫さんとの対談だったと思うが、日本の学校教育に関して、
「学校時代、教科書を読まないといけないので、(多分数日で)さっさと読み、読んだからもういいだろうと思って授業中に別の本を読んでいたら怒られた」
ことが不合理であるといったことを言われていた。
こりゃ、川上さんは相当に地頭が良いのだろう。正直、私の想像範囲を超える。
川上さんも、プログラミングはかなり出来たのだと思う。

ところで、人間は、自分の頭が悪いとは思わないものらしい。
パフォーマンス的な謙遜で「私は頭が良くない」と言う人はいると思うが、そんな人だって、本心ではそう思っていないことが大半だろう。
しかし、自分の頭が悪いことを客観的に思い知った時には、自分の頭が悪いと理解することはあるのだと思う。
実は、私がその類だ。
ところで、「俺は頭が良い」と自分で言う者は、おそらく全員、頭が悪いと思う。
川上量生さんが自分の頭が良いと言うのを見たことはないが、舛添要一さんは、昔はよく言われていた。よく分からないが、舛添さんは、自分の土俵に引っ張り込む強引さがあるだけで、あまり賢い人だと思ったことはないが、最後は馬鹿を証明したような気がする。
まあ、私に人の頭の良し悪しを判定する能力はないので、多分、誤解だろう。申し訳ない舛添さん。

で、プログラミングの話に戻るが、「どの程度出来るか」の問題はあっても、食べていけるだけのプログラミングは誰でも出来るのではと思う。
そりゃ、高性能なOSやプログラミング言語を作るとか、超高機能高品質なアプリを作るなどというのは、確かに、優秀な人でないと無理かもしれないが、開発会社で優秀と言われる程度のプログラマーなら、その気になれば誰でもなれると思う。
ただ、それが出来るようになるのに必要な時間の見積もりを誤る人が多いと思う。
アメリカの著名なコンピューター科学者ピーター・ノーヴィグは、プログラミングが一人前に出来るようになるには10年かかると言ったが、彼の「出来る」の基準は相当高いはずなので、この通りではないとしても、相当熱心にやったとしても、優秀なプログラマーになるには、少なくとも3年くらいはかかると思う。
ビル・ゲイツが本当にプログラマーとして凄かったという証拠を見たことはないが、天才と言われる彼だって、高校時代は毎日長時間プログラミングをしていたらしい。
ピーター・ノーヴィグがブログに書いていたように、プログラミングの入門書のタイトルでよくある「3日で出来る」だの「1週間で覚える」というのはとんでもないことで、そんな本の著者達は、いつか必ず罰(ばち)が当たると思う(笑)。

もっとも、本人にやる気があっても、開発会社では職場の問題で、プログラミングが嫌になってマスター出来ないという場合はあると思う。
そこで、プログラマーになりたいなら、開発会社や情報部門に入る前に、そして、入った後だとしても、家で勉強すべきだ。
ところで、私はいろいろなプログラミング言語や開発ツールを習得したが、本以外で勉強したことはない。
つまり、研修やネットのプログラミング講座で勉強したことはない。まあ、そこらは人によると思うが、早い話が、頭が良くなくても、本さえあれば、ちゃんと勉強出来るのだ。
私は一度、NECのプログラミング研修に行かされたことがあるが、後で上司に「NECの講師がカンカンだぞ」と怒られたことがある。まあ、だいたい理由は分かるが(笑)、私は、研修でプログラミングを憶えること自体が間違いと思う。時間が少な過ぎるのと、後は・・・言わない。講師を馬鹿にしたくない。
まして、日本の学校でのプログラミング教育は、絶対反対である。
間違いなく、日本のITレベルを下げることにつながるだろう。
面白い教材を渡して、やる・やらないのレベルから、子供達の自主性に任せると良い。
学校ではそんなやり方は出来ないだろう。何より、教師に教えさせるなんて馬鹿だけは、頼むからやめて欲しい。













当ブログ著者、KayのAI書。
AIの基本技術(例えばニューラルネットワーク)を作るなら、数学、プログラミング、コンピューター、AI理論等の高い理解が必要です。
しかし、優れたAIツールが普及している現在では、会社や研究所等で使うAIを作るには、全然別のセンスや能力が必要です。
本書では、優秀な無料AIアプリであるソニーのNNCを使います。
そして、普通にイメージ出来るテーマや面白いテーマにより、自分で実際にAIを作れるセンスや能力を身に付けます。
本書のほぼ全ての実習を行うためのデータが作れる、Excelマクロ(VBAプログラム)で作られたシミュレーション・プログラムを出版社サイトから無料ダウンロード出来ます。

最高の講義をしてきた

聞いて解る講義など、聞いてはならない。
読んで解る本など、読んではならない。
この意味が解るだろうか?

例えば、

ディスは「これ」ですね。イズは「は」です。アは「1つとか1本」です。
だから、ディス、イズ、ア、ペンは、「これは1本のペンです」という意味です。
はい、言ってみましょう。
「ディース、イーズ、アー、ペーン」

という説明は良く解るが、こんな教わり方をしたアメリカ人やイギリス人はいない。
こんな教わり方で英語が話せたり、聞けたり、読んだり、書いたり出来るはずがない。
多少の予備知識はあった方が良いが、一時が万事これでは、100年やっても駄目だろう。
確かに、子供じゃないのだから、偶然に頼らず、積極的にいろんな英語を聞き、見れば良いが、いちいち単語の意味や文法を考えてはならない。

どんなことも同じである。
例えば、プログラミング。
これほど勉強し易いものはない。
まずは、簡単な模範プログラム(本でもネット上でも無限にある)をひらすらタイプし、覚えてしまう。
そして、動かしてみる。
飽きてきたら、自分でプログラムを作ってみる。
それを動かしたら、ほとんど上手くいかないはずだ。
奇跡的に動いたら次だが、最初から何度も上手くいくはずがない。
そこで、ちゃんと動いたプログラムと比較したり、ネットで調べる。
どうしても駄目なら・・・そこまでやれば、自分でも何らかの(動かない)予測がついているし、適切な質問が出来るようになっているので、ここで出来る人に質問すれば良い。
ちゃんとした質問が出来ないなら、質問する値打ちがないのだ。

このように言えば、いろんな理由で学校型教育を支持する人達が否定してくるかもしれない。
否定する必要はない。
上に述べたやり方は一例に過ぎず、他のやり方も何千通りだってある。
だが、学校では、「ワン・パターン」でないと容認しないのだ。

私は最近、プログラミングとは何かも知らない人達にプログラミングの講義をしたことがある。
こんな時、やるべきことは何だろう?
確かに相手にもよるが、若い人達だったのだから、プログラミングに夢を持たせ、その驚異的な可能性をイメージさせ、やる気にさせ、講義の帰りにプログラミングの本を買うように(今は帰ってから電子書籍を購入という場合が多いが)することではないのか?
講義には、外部の指導者達もいたが、彼らは、
「生徒達にパソコンを操作させて」
「プログラムの例を見せて」
「具体的に簡単なプログラムを作らせて」
「さっぱり解っていないと思う」
と口を挟んでくる(低姿勢ではあったが)。
そこで私は、「聞いてすぐ解る、納得する、安心するような講義は、何の役にも立たない」とバシっと言い、それを具体的に説明した。
馬鹿な親や教育関係者は、そんな講義しか納得しないだろうがね。
「今ここで何か出来るようになるなどと思ってはいけない。ネットや書籍に無限にある情報を自分で判別し選択し生かすことが、これからの時代に必要な能力だ」
と、これも、相手の嗜好などを聞きだしつつ、具体的に、ヤバい話も交えながら(笑)、噛み砕いて説明した。ここが大事なのだから。
その他、学習に関する至高の原理・方法を教えてあげた。
この講義に参加出来た生徒達、そして、指導員達は幸運であった。
このくらい自信がないと駄目だ(笑)。

サッカーが上手くなりたければ、なるべく多くボールに触れることだし、野球が上手くなりたければ、四六時中、バットやボールが身近にないといけない。
ボールよりハンバーグや欅坂46が好きでは良い選手になれない。
宮本武蔵は、護身用という意味もあったが、生涯、木刀を肌身離さなかった。
プログラミングでも何でも同じだ。
例えばだが、どこに行くにも本を持ち歩き、せめて本を開く。なるべく多く・・・1日中ならさらに良い。
本当にやる気があるなら、それは非常に楽しいことと思うのだ。
その、やる気を出させるのが講師の仕事なのに、生徒のやる気を削ぐ「センセー」や親がいかに多いことか。

★追記
いただいたコメントは全部必ず読んでいます。皆様も読んでいただければと思います。
良いコメントが多く、味わうことも多いのですが、私が下手な返答をして台なしにしないようにという意識もあり、返答は少な目です。
ただ、きちんとした質問には大抵、答えていると思います。




当ブログオーナー、Kayの実践型AI学習書。
数学、プログラミング、AI理論は必要としません。
Chapter.1は、すぐ解ると思います。
しかし、その後は、すぐには解らないかもしれません。けれども、実習を繰り返すうちに自然に解ると思いますし、自然に解ることが何より大事と思います。
そして、面白いテーマを選んであると思います。
特に「モンティ・ホール問題」を、ここまで易しく、日常語で明解にしたものは見たことがないと思いますが(理論的でなく実証的に)、それがそのまま具体的なAIになり、シミュレーションプログラムも「おまけで」ついています。
その他、実際に役立つ、データの考え方、検証の仕方、苦闘の仕方(笑)も載っています。
AIは自己を拡張する道具です。この本で、楽しく、それを得ていただければと思います。










書いて忘れたら願いは叶う

プログラミングをマスターする方法にも、何百通り何千通りものやり方があり、どれが良いとも悪いとも言えない。
何かの達人になった者には、客観的には最悪の方法を採ったという者も少なくはない。
「魔法を使って治している」とまで言われた奇跡の精神科医ミルトン・エリクソンは、小学校時代くらいだと思うが、辞書を引く時、いつも、aから順番に見ていったという。
おかげで、辞書の内容が頭に入り、それは大人になってからも非常に役に立ったという。
最悪の勉強のやり方が、実は悪くはなかったということである。

今は、うさぎ跳びや脚を伸ばした腹筋運動は身体に悪いのでやらないことになってるが、昔は、それらをガンガンやって超人的スポーツ選手になった人だっているはずだ。
外国語をマスターしたければ留学や海外生活が一番と思っている人も多いが、極めて重要な場での通訳を行うほどの英語の実力を持つ人で、海外経験がない人だって事実いる。

では、何かを成し遂げるために、本当に重要なことは何かというと、強い意思の力だろう。
ただ、その「強い意思」というのも、一瞬で爆発的に大きな意思を持つ場合もあれば、さほどではないが、長期間、その意志を持ち続ける場合とがある。
けれども、実は、もう1つ方法があり、それが最上の方法だ。
それは、意思を一度放ったら、それを放っておくという方法である。
放った意思の邪魔をしなければ、意思は自律的に目標に達するのである。
だから、願いを叶えるのが上手い人は、いったん目標を決め、それを叶えると決めたら、後は何も考えず、むしろ、ぼーっとしているのである。
そうすれば、自分は自動的に適切な行動を取り、周囲は目標達成に都合の良いように動くのである。

目標を紙に書いたら願うという。
だが、それを常に読み返せと言う人がいるが、それは間違いである。
ぼーっと眺める程度なら差し障りないが、何度も気合いを込めて読み直すと、まず叶わない。だから、「東大合格」なんて書いて壁に貼るのは止めたが良い。一番良いのは、書いたらどこかにしまって忘れてしまうことである。
何年か経って紙を確認したら、全部叶っているのである。
何度も見たり、思いだすから叶わないのである。
目標を決めたら、後は、ぼーっとすることである。
もちろん、その目標が本気でないなら、どうなる訳でもないが。













当ブログオーナー、KayのAI書。
例えば「AIとはどんなものか知りたい」と思った場合、学識者が沢山の文章を並べて書いた概要書、教養書、啓蒙書・・・などと言われるものを読んでも、おそらく、「解った気になる」だけで、よく考えたら「やっぱり何も解らない」と気付くと思います。
自分で運転しない限り、自動車の運転を本当には解らないように、いくらマイクロ波の勉強をしても自分で使わない限り電子レンジとは何か解らないように、自分でAIを作らない限り、何も解りません。
この本でAIを作るのに、数学もプログラミングもAI理論も不要です。Excelが最低限使えるスキルがあれば十分です。
しかも、AIにやらせるのに、面白い問題を扱うことが出来たと思っています。
プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんを愛す
[AI&教育blog] メディアの風


当ブログは第1期ライブドア奨学生ブログです。
最新コメント
月別アーカイブ
記事検索
ブログバナー&Mail


メールはこちらへ
PV since 2010/09/08
  • 今日:
  • 昨日:
  • 累計:

人気ランキング参加中
人気ブログランキングへ
にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
にほんブログ村 メンタルヘルスブログ ひきこもりへ
タグクラウド
QRコード
QRコード