講師のつぶやき

2019-5-25(土)

機械学習、深層学習については授業しないという方針だった。確かにあの時は。それはネットで授業をしている生徒さんから「人工知能を勉強したい」と言われ、人工知能を勉強するには、線形代数や微積分の素養が必要であると断った時のことだ。

もちろん、事実を言っただけだが、もちろん断る口実でもあった。しかし、1年後「先生、代数学・微積分学習終わりました。人工知能教えてください」と言われ衝撃。

まさか、そこまでやっていたとは。ここで私も火が付いた。大学以来、代数学・微積分を復習した。復習したが、大学時代は何も理解していないことにも気づいた。それだけでも大きな収穫だ。代数学に至っては考え方がまったく変わった。単なる行列計算と思っていたがそれだけではないのだ。

ということで、どうにか間に合わせ、Pythonを使ってまずは統計学を二人でやることにした。統計学も大学時代やったはずだが、意味が分からずやっていたことに気づく。

やってみるとこれが楽しい。検定・推定からはじめ、一般化線形モデルまでどうにか、一通りではあるが理解できるようになった。

で、今はscikit-learnを使った機械学習を一緒に勉強している。思った以上に面白い。このあたりのことはまた、いずれ!

2019-5-22(水)

私のkindle本のコレクションに「ぼのぼの」がある。忙しすぎてあまり読む暇ないが、読むと肩の力が抜けていく感じがする。

ぼのぼのの焦り方も好きだ。ああいう風な性格になりたいと思うのだが、30数年の社会人生活を経て、ああはなれないと諦めている。シマリスくんにもなれないが、アライグマくんやスナドリネコさんくらいにはなれるかもね。

2019-5-20(月)

関数と聞いただけで逃げ出しそうになる人も多い。再帰関数や高階関数となるとみんな寝たふりや死んだふりをする(うそ)。確かに私も最初のころは苦手だったのでわからないでもない。

しかし、世の中には再帰的なデータ構造はたくさんある。それを解くには再帰関数の方が効率的だし、分かりやすくもある。ただ、慣れてくると非再帰的表現でプログラムすることが非常に難しく感じることもある。

再帰から非再帰、非再帰から再帰への相互変換の訓練は役立つのでいずれ授業に取り入れようかと考えている。

2019-5-18(土)

諦めないで

粘る。諦める。休む。また、粘る。諦める。休む。また、粘る。難しいことにチャンレジするときはこのようなものである。最初から1発で問題を解決できるのは天才だけで、天才以外は1歩ずつ進めることである。粘り勝ちはよくあることで、すぐに諦めるのはもったいないと思っている。

2019-5-13(月)

React、Vue、AngularとJavaScriptのライブラリ・フレームワークは移り変わりとバージョンアップが激しくついていくのが大変である。

これらが流行りだした頃、jQueryは今から使われなくなると根拠のないことを言う人が多かったが、今でも健在である。

今日、Google Apps Script(GAS)を使ったアプリの問題を生徒さんと解決したが、小回りが効くjQueryはやはり重宝する。まだまだ身につけておきたい技術のひとつである。

2019-5-12(日)

Robert Sedgewickと聞いてピン来れば、アルゴリズムに明るいと思う。4、5年前CourseraでAlgorithmsの1と2を受講したが、楽しかった。

宿題は忙しいこともあり徹夜で解いていたがそれもまた楽しいと感じれた。日本語の翻訳書もあるのでアルゴリズムに興味のある人にはおススメである。

ただし、答えがどこにもないので、根気がある方向け。「ACM Karl V. Karlstrom Outstanding Educator Award」を受賞されたとのこと。おめでとうございます!

2019-5-11(土)

薄くて多くの絵やマンガがあり、難しい言葉がなく、というようにプログラミングの教科書も変わりつつある。それはそれで時代の流れとしてあるのかもしれない。

しかし、残念ながらそのような本の多くがプログラミングを習得できるほどの内容がない。ないから絵やマンガにしてごまかしているのだろう。分かったかどうかの基準を自分の中で築いていく作業こそ、匠の世界である(おっと大きく出てしまった)。いつも言ってることだが、プログラムを習得する工程は料理人、大工、スポーツマンと似ている。

基礎が大切で、その基礎が身についたかは自分の中に基準を作り、それを何回も作っては壊し作っては壊し新しい基準を作っていく作業である。海外の入門書には1000ページを超えるような入門書もざらである。海外との差が開くのもしかたない。

2019-5-9(木)

プログラミングに数学は必要かとよく聞かれる。必要であるし、必要でない。簡単な答えはないと思っている。Webアプリでフロントエンドを作るのであれば必要ないと言えるが、機械学習などの新しいアルゴリズムを考えたりするには、代数学、解析学、統計学などの素養が必要である。しかし、機械学習のライブラリを使って遊ぶだけであれば数学は必要ない。

企業システムなどであれば適材適所となるので、数学ができなくとも多くのことを任せることができる。数学に関連する部分はそう多くない。数学を得意とする者に任せれば十分である。

とは言え、私はもともと数学が好きなので、3年近く前から代数学、解析学、統計学を密かに(という割には多くの生徒さんに話しているが)勉強している。要するに自分の長所を活かせるような技術を見つけ出し、それに没頭し、その分野であれば任せてくれというくらいになればいいと思っている。

2019-5-5(日)

現在、5月5日21時半。ゴールデンウイークも残り1日。サザエさん症候群が既に始まっている方もいるのでは。10日も休みが続けば、それどころではないはず。

私の場合、憂鬱になり始めたと感じたら、すぐに明日からの仕事をどうするかという計画を立て、仕事モードにどっぷりと漬かることで回避していた。仕事のことを考えまい、考えまいとするから不安や憂鬱になるのであって、一旦仕事モードに入れば不思議なことに不安も憂鬱もなくなる。

それでもダメなときは近くにあったスポーツジムでひたすら泳いでいた時期もある。ひたすら泳ぐ、ひたすら走ることのメリットは息が整うことである。不安な精神状態のとき、人間は呼吸が浅くなる。それを強制的に深く長くすることで安定させるのである。

何事も工夫である。

2019-5-1(水)

平成31年4月30日23時から令和元年5月1日1時まで授業だったため、別の生徒さんからのSkypeチャットで令和に入ったのに気づいたのが0時20分。大晦日に年が切り替わったのに気づかなかった時以上にショック。

4月30日にJava、C、C#、Pythonをおしえた後、元号をまたいでjQueryと忙しい日だった。令和になっても、今以上に頑張って、多くの生徒さんの成長を助けたいですね。さあ、テレビを観るか。

2019-4-28(日)

昨日からゴールデンウイークに入った。いつも走っている道路もガラガラにすいており、安心して走れるけれども、寂しい感じもする。

走り始めて、5年程度経つが、毎日走り続けると意外と有名人になっていたりする。いろんな方から話しかけられるのだけれど、走っている最中はまったくわき目もふらないから、私はまったく相手の方が誰なのかは見当がつかない。そういう時は決まって「今日も元気ですね!」と言って走り去っている。

走り始めて変わりだしたのは体重だけでなく、頭の回転だ。iPS細胞の山中教授とタモリさんのNHKの番組でやっていたが、骨に振動を与えることは非常にいいという。走り出して、頭の回転が速くなったのも、このおかげかと納得した。皆さんも毎日、適度に歩いたり走ったりして頭の回転をよくしましょう!

2019-4-26(金)

人工知能が大流行だけど、そろそろ幻滅期に入りだしているようだ。幻滅期といっても否定的な意味合いも少なからずあるが、過剰な期待や興奮を通り越して、地に足をつけていく時期のことをそのように呼んだりもする。要するに技術の揺籃期から終焉期までにつけられる名前である。

人工知能と呼ぶのはやめましょうというのもよく聞く。機械学習、深層学習などが一般的になりつつある。魔法の杖ではないことに気づき、その技術を業務に取り込むための模索期に入ったということである。

ただし、メディア自体はまだ人工知能というおいしい言葉を使いたいらしく、テレビなどで聞かない日がないくらいである。

実は、機械学習や深層学習は膨大なデータが必要となる。なぜか?これは第2次人工知能ブームのルールベースに基づくものではなく、確率・統計に基づくものであるから、自ずと膨大なデータが必要となるのである。このことは自明の理であるが、そのことに今頃になって気づく企業が後を絶たない。日本は機械学習、深層学習では遅れを取ってしまったが、データを提供する技術については地道な研究がおこなわれており、期待できる分野でもある。

どうも、今日はかたい話になってしまった。次回からはもっと軽めに呟こう・・・

2019-4-24(水)「講師のつぶやき」はじめました!

新着情報も、授業雑記も更新できない状態であったため、ご心配をおかけしております。皆さんの予想に反して、私はいたって元気で、生徒さんとともに日々成長中である。

授業雑記ともなるとすぐ熱中し、ネットの技術記事みたいになってしまい、長続きしない。ということで、授業雑記も継続していくが、日々思うことなどをつらつらと書きたく「講師のつぶやき」を始めることにした。

そんなに君は手抜きしたいのかと怒られそうだが、そうでもなく、現在、私も日々進化しており、歳とともに進化速度が上がっていくような気(錯覚・妄想・耄碌)がしている。現在は、以下のことに取組中。

  • C#上級用にASP.NET Coreを勉強中。Unityはその後に勉強予定
  • 機械学習をはじめ、人工知能を呼ばれる分野には一切手を染めないことにしていたが、生徒さんの要望強く、機械学習の授業を非公式に始めた。(この経緯はいずれ)
  • 簡単なアルゴリズムを非公式だが(ここで呟いたら非公式ではないだろということは置いといて)、C言語とJavaで始めた。
  • プログラミング教室で特定のクラウドを教えるのは如何なものかと思っていたが、生徒さんの要望強く、講師の意志弱く、あっさり引き受け静的なサイトの移行などに手を染める。動的サイトとなると、ひとつ間違えば多額の請求となるため、思案中。
  • React JSも頼まれ教えていたが、生徒さんが休会中で一旦休止。うれしいことにその生徒さんは今ではIT企業の中でもリーダー格になり、仕事に忙殺されているようである。

・・・し、しまった。つぶやきなのに、つぶやいていない。また長文になるところだった。では、続きはまた。