「福岡 DLLAB Academy: 3時間で入門ディープラーニング」参加のその後。

先日2019年9月14日(土)に参加したセミナで学んだことを、復習した・少し理解が進んだ、というお話。以下が前回の投稿。

「福岡 DLLAB Academy: 3時間で入門ディープラーニング」参加レポート。ディープラーニングは難しくない?

Google Colabでスクリプトを全部手打ちしてみる

今の時代ではもはや原始的な方法かも…と思いつつ、セミナ中に配布されたコードを自分のGoogle Colabのページにスクラッチ。実際に手を動かしたほうが理解が進む。

とはいえ、とんがった部分もあるので100%は理解してないものの、「あ、この部分はセミナで講師が言ってたこの部分か」、「この部分はこう指定するのか」と復習しながらコーディングできたので楽しかった。

精度の向上にトライ。結果、91%までUP。

演算は「アヤメの品種を分類する」というもので、自分たちでハイパーパラメータをいじって、より精度の高いディープラーニングを行う、というもの。結果、91%ぐらいまで高めることができた。

いじったパラメータは、以下のとおり。

  • 中間層のノードを100
  • epochを30
  • iterationを5

epochを増やせばそれだけ訓練データで学習するという理解なので、精度が高まるかと思いきや、多くしても精度が下がってしまったのが意外だった。

中間層ノードを増やしたことが一番効いているのかも?(試したのは、10→5→15→100)だが、内部でどういう計算をされているのかは理解できておらず…。この部分はぜひ理解して、仮説を立てられるようになる。

ちなみに、ネットワークは4入力>100ノード>3出力という、超シンプルな構成。訓練データ数が少ないので、何となく、ネットワークもシンプルな方が良いのかも、と思ってシンプルにしてみた。

ちなみに中間層を増やしてみたりしたが、精度が高まる場合もあれば、下がる場合もあって、「多けりゃいい」というものでもないということが分かった。ん〜、おもしろい。

座学の丁寧さがありがたい、と再認識。ハードルが下がることは学習の助けになる。

セミナに参加したのと参加してないのでは、学習スピードが異なったと思う。それは、座学を丁寧に進めてくれたおかげだと痛感。

上記のとおり、まだまだ理解できていない部分もあるが、理解スピードはきっと速いし、何が分かって何が分かってないかをはっきりできているだけでも、かなり嬉しい。

定期的に実施されているようなので、興味のある人は、ぜひ。

Safari vs Chrome、結局どちらが使いやすいんだぼくにとって…

以前、Chrome + Google Keepのネタで投稿したが、Safari を使うか、Chromeを使うかは、ぼくにとっての永遠の課題のようだ…。また再発した。一時期おさまっていたのに…。

<以前の投稿>
“Chrome + Keep” is the best way to make my memo. | Chrome + Keep が僕にとって最高なわけ。

Safariの良いところ

なんと言ってもデザイン。細かなところでも美しい。

  • ウィンドウを最大化した時のタブとかの厚さが絶妙
  • ウィンドウを最大化した時に、マウスカーソルの最上部に持っていくとメニューバー(時計とか)が表示されるが、なめらかに出てくるので美しい(Chromeはかくっと出てくるので気持ちが萎える)
  • Webページを見ていてマウススクロールした時の動きがなめらか。FPSがChromeよりも大きい感じ。とても気持ち良い。
  • なんだかんだ言って、レンダリングの速度が速いと思う
  • iPhoneとタブ同期しているが、MacBookのSafariでiPhoneのSafariで開いているタブを閉じる(☓ボタン)することができるし、その逆もできる。これがかなり便利で、あとで読もうと開いていたタブで、チェック済みのやつは閉じることができるので、時間の無駄がなくなる
  • Cmd+Zで閉じたタブを復活することができる。この操作ができるの、結構役に立つ

Chromeの良いところ

  • 拡張性が高い。Safariは拡張機能が少ない。Chromeの拡張機能で気に入っているのは、例えば以下。
    • Send this link with Gmail(開いているページのURLをGmailで送信できる)
    • Copy URLs to Clipboard(開いているページのURLとタイトルをワンクリックでコピーできる)
    • Timer(シンプルなタイマー)
    • Create Link(開いているページ・全タブのURLをワンクリックでコピーできる)
    • Tweet(開いているページをTwitterに投稿できる)
    • Pocket(Pocketに保存する)
    • Google Keep(Keepに保存する)
  • 大体のサービスがChromeに対応している。Safariで見えなくてもChromeで見えるという画面は意外と多い。
  • Google Driveをオフラインでも利用できる(オフライン機能の追加が必要)

結局、勝負はつかず…

ということで、今しばらくは二刀流で使っていくんだろうなぁ…。気持ち悪いけど、今悩んでも決めきれないと思うので、今後の進化が自分に合っている方を何かしらのタイミングで決定する、ということで、このまま使うことにする。ふぅ。

「世界の潮流と、地域社会に求められるICT」参加レポート。自分は、日本はチャンスだらけの状況にある?

2019年9月13日(金)に、OECD所長である村上由美子氏の講演を聞いたので、レポートがてら投稿してみる。データに基づいた予測と、OECDの知見・見解が聞けた、なかなかおもしろい講演だった。

3つのポイント

氏曰く、以下3つが大きなポイントとのこと。

  1. テクノロジーによる革命
  2. 市場は世界的につながっている
  3. 世界的に進む高齢化

テクノロジーによる革命

これは言わずもがなという感じ。次々に新しいテクノロジーが出てきて、世界は過去と比べ物にならないスピードで変化しているという話。

市場は世界的につながっている

イノベーションのためには「人のつながり」が必要という話。日本人は、特許取得件数や世界トップクラスだが、個人やある企業など個々のものが多く、共同で取得するケースが少ないとのこと。これは、世界的に見ても珍しいようで、日本人が共同作業が不得意であることの現れだとか?

他にも、日本人は世界的に見ても高い道徳や教養があるし、読解力・数的思考力も世界トップクラスといった具体に、新しい事を学習できる素地があるので、活用しない手はない、とも話されていた。

これは、先人の立てた日本教育の良い面が出ているのだろう。アメリカ人は、超エリートがいる一方で、暗算ができない人が結構いるなどの、素地部分での差が大きいらしく、日本人のように、素地のある人の割合が高いわけではないとのこと。

とはいえ、イノベーションを起こすことは日本人は苦手なトレンドがあるようで、上記のことを気にしたり素地を活用したりする必要があるようだ。

世界的に進む高齢化

現時点では日本が断トツの高齢化社会だが、2050年までを見据えると、韓国の高齢化がすごいスピードで進んだり、タイの高齢化も顕著になってくるなど、世界的に高齢化のトレンドにあるとのこと。

逆に、これは日本にとってチャンスである、と。なぜなら、他国があとから経験する高齢化を今経験している上に、世界的にシルバー・エコノミー(高齢者をターゲットとした経済の流れ)は確実に来るので、現時点でノウハウを得ることができる日本は、将来的にアドバンテージがあるらしい。なるほど、たしかに一理ある。

ちなみに、世界的に高齢化のトレンドがあるということは意外だった。人口増加のトレンドにあるからだ。とは言え、医療が発達して平均寿命が高くなっていることを考慮すると、たしかに納得できる予測だと思った。

他にもいろいろ。

今の世の中「羊飼いのようなリーダー」が求められいる

少し前までは、ジャンヌ・ダルクのように、人々に方向性を明確にしめして牽引するというリーダが求められていたり、MBAでのケーススタディでも取り上げられていたが、変化が激しく予測することが極めて困難な現代では、チームのメンバを後ろから見守り、好き勝手やらせて、方向性を何となくふわっと示して全体を誘導していくような、羊飼い的なリーダが求められいるようだ。

リーダとしては、メンバ間で生まれる化学反応を期待できるし、起こったら効率的にイノベーションできるというメリットがある。それに、たしかに先の読めない現代では有効だと思った。

ニューヨークフィルハーモニーのブラインドオーディショニック

現在でも実施されているが、オーディンションの時は、大きなスクリーンに絨毯が良いされていて、演者が誰なのか(年齢、性別、人種等)、審査員が全く分からない状態で、演奏だけで判断するという方法を実施しているようだ。

このやり方をはじめてから、ニューヨークフィルハーモニーでは、非白人の割合が50%に、また女性の割合が50%に上がったとのこと。そして、世界的にニューヨークフィルハーモニーの演奏が高評価を得ていて、今や、世界屈指のオーケストラとなっている。

所感

イノベーションを起こすためには、素地+つながりを持つ、ということが大切だと言うことが印象に残った。人間誰しも何かしらの才能はあるものだ。良いつながりをもって、互いの得意分野をかけ合わせたり、ピースをはめ合うことで、化学反応を起こすことがイノベーションの秘訣だとするならば、もっともっと行動しようと思った。

「福岡 DLLAB Academy: 3時間で入門ディープラーニング」参加レポート。ディープラーニングは難しくない?

2019年9月14日(土)に、タイトルのセミナに参加したので、レポートがてらポストしてみる。結論としては、ニューラルネットワークとかディープラーニングの基礎の基礎を、手を動かしながら学ぶことができて、とても勉強になった。

予習したこと

  • ディープラーニングの触り
  • ニューラルネットワークの触り
  • Chainerの触り
  • Colabの触りと少し動かした

特に、ニューラルネットワークは、設計>訓練>評価という流れで構築していく、ということが分かってよかった。(う〜ん、どれだけ初心者なんだ、、、と思いつつ、初心者だから参加するんだよね、と自分を励ましつつ参加)

やったこと・キーワード

  • 分類と回帰、与えられた情報から予測するのが回帰
  • 線形変換と非線形変換
  • ニューラルネットワークの手計算、順伝播播
    • パラメータをランダムに決める
    • 損失関数を計算する
    • パラメータを調整する(←機械学習の「学習」とは、コンピュータによるパラメータの調整を指す)
  • 人間の得意なことと、コンピュータの得意なこと。それぞれ得意なことを分担する。
  • 訓練データ、検証データ、テストデータ
    • 訓練データと検証データで繰り返しパラメータの調整。人間が調整するパラメータをハイパーパラメータと言う
    • テストデータは最後の評価として1回だけ使う
  • 目的関数(損失関数)、代表的なものは「回帰→平均二乗誤差」で「分類→交差エントロピー」
  • エントロピー(情報量)は、意外なものの方が多い。例えば「コンビニの店員が外国人」は今や当たり前なので情報量が少なく、「コンビニの店員の身長が2m30cm」はあまりないので情報量が多い。
  • 学習率はハイパーパラメータ、人間が調整する
  • batch size(バッチサイズ), epoch(エポック), iteration(イテレーション)

振り返り①:座学は優しい(初心者でもOK)

座学は初心者でも分かるような内容で楽しかった。何となく「あぁ、こういうものなんだな」と分かった気になった。

振り返り②:演習はなんか難しい(初心者は苦しいかも)

ただ、演習に入るといきなり難易度がUP。理由などは以下のとおり。

  • 座学は難しいことをすごくシンプルにして教えてくれるので分かった気になる
  • が、演算は実際にコーディング作業が少しだけ入る。もちろん、99%が出来上がっているコーディングが配布されて、一部のパラメータ、上記でいうハイパーパラメータのみをいじればほぼOKだが、座学のシンプルさとはかけ離れて、かなり実践的な内容だしユーザIFだったのでついていくのに必死
  • で、結局「このハイパーパラメータを変えるときっとこうなる」という仮説も立てることができなかったので、なんかおもしろくない、理解できない。
  • ということで、座学で分かったつもりになっていて実は分かっていなかったことが浮き彫りにできたし、損失関数とかパラメータとか順伝播とかそういった専門用語の理解が進んだ
  • 予習をしておいたので、少しはマシだった気がする。もっと丁寧に予習しておいた方が良い。何にでも言えることかもしれないが…。

振り返り③:ColabとPython、ディープラーニングの勉強

Google Driveとの連携ができて、ブラウザ上で教科書(主催者側が用意)のソースコードを実行しつつ、自分でアレンジして実行しつつ、セミナを受けることができたのは、各自のペースでハンズオンの学習効率の高い、とても良い進め方だと思った。

振り返り④:ノートは用意しておくべし

事前連絡で、紙かノートを用意しておくこと、とあったし、当日、紙とペンの配布はあったけど、圧倒的にノートの方が良いと思った。理由は、結構書くから。

ノートの方が、保存がきくし、枚数が増えても綴られているから気にならない。ノートは必ず持参すべし。

結論

ディープラーニング初心者(基本知識なし)では少々厳しい感じがするが、個人的には有意義なセミナーで、ぜひ、今後も継続して受講したいと思った。きっと、自分の勉強の張り合いにもなる。知り合いもできたし、継続して勉強していく。

舟状骨なかま

最近知り合った人が、たまたま、舟状骨を骨折した経験をお持ちだった。
そして現在、ぼくは舟状骨を骨折している(軽くヒビが入っている状態)。

なんと奇遇な。
思わぬ共通項があって、話が盛り上がった。

共通項があると、距離が縮まる。
それも、舟状骨という、マイナーな骨。
なんだか、良い経験ができた。

骨を折るのも、悪くない。

…いや、やっぱり悪い。

舟状骨レントゲン

性善説に立つ

人を信じる。

時には怖いこともあるけど、それでも、人を信じる。

人を信じて、損はないはず。
結局は、損しないはず。

もちろん、場合によるだろう。
けれど、基本、人を信じる。

文字で勝負する。

Blogは色々と表示できるので便利だ。
例えば画像。

アイキャッチのためのコンテンツがあれば、読まれる可能性が高くなることは有名だ。

が、そこはあえて、文章で勝負したい、と思っている今日この頃。

視覚情報の方が、文章を読むより処理が速いのは分かっているし、情報過多の昨今だと、さらに視覚情報の価値が高まっていることも分かっている。

が、そこをあえて挑みたい、と思っている今日この頃。

読んでもらえる文章を目指す。

忘却曲線とノートの育て方の関係性を考える

人間とは忘れる生き物で、覚えておく(意図したときに記憶を呼び戻す)ためには、繰り返し思い出す必要がある。

こういう話題だと「エビングハウスの忘却曲線」が有名なので、リンクだけ紹介しておく。

https://ja.wikipedia.org/wiki/%E5%BF%98%E5%8D%B4%E6%9B%B2%E7%B7%9A

要するに「人間はすぐ忘れるので復習が大切で、どう忘れるかを把握しておけば(上記忘却曲線を意識)、復習の重要性やタイミングが意識できて良い」ということだ。

一方で話はごろっと変わるが、ノートの取り方を考えてみる。なぜノートを取るかと言うと、ぼくの場合は以下の2点が目的だ。

・アイデアを出す(発散・収束させる)

・備忘録

最近思っているのは、上記の両方をより効率的にするためには「ノートを育てる」という意識がポイントとなる、ということ。

どういうことかと言うと、ぼくの場合、以前までは、ノートに書くとそれは「過去のモノ」となって、振り返ることが1~2回しかなかったし、追記することは皆無と言っていい程していなかった。

けれど、何回も振り返って、振り返るたびに新しいアイデアや気づきが出てきて、その都度追記するようになると、

・ベースのある状態から考えることができる

・復習することで思い出しやすくなる

ということと、これが結果的に効率が良いことに気が付いた。

それに「ノートを育てる」という感じがして、自分のノートを慈しむようになった。

慈しむことでノートをさらに使いたくなる。

使うことで、さらにノートが育っていく。

そして、さらにノートを慈しむようになる。

このプラスのスパイラル、ぜひ体験いただきたい。

もしかして余裕がないのか?「緊急度が低く重要度が高いこと」を考えることの大切さ。

「緊急度が低いけど、重要度が高いタスク」がある。例えば、春の時点で次年度やそれ以降の事業計画を考えるとか、5年先の自分の目標を考えるとか、何かの新しいアイデアを考えるとかだ。

正確に言うと、「一見すると、緊急度が低いけど重要度が高いタスク」だと思う。
この「一見すると」がポイント。

人間は、目の前のことをに取り組むことが得意な生き物だと思う。要因は色々あるんだろう。例えば、以下などが考えられる。

  • 具体性がある
  • 短期記憶で対処できる(要するに、忘れない。もしくは他を忘れている)
  • 「忙しい」と勘違いしている

結局、これって自分の周りの環境が影響している気がする。だから、中期目標・長期目標を持っていない人が結構いるし、企業でもそうなんだ、ということを最近知って、驚いてしまった。

計画と戦略と、人間。
要するに、ビジネスと人間。
このトピックについて、思考を深めて、試行するのは大事だと改めて思った。

Top 10 Words for Connecting Thoughts

From English101.com. I like number 1.

  1. also
    -> I went to the store this morning also I went and got coffee.
  2. however
    -> I love Tonkotsu Ramen, however, it is very high in calories, so I don’t eat it often.
  3. on the other hand
  4. still
  5. then
  6. besides
  7. meanwhile or in the meantime
    -> I was working at my office all week last week, meanwhile… my co-workers across town were… having a party without me.
  8. likewise
  9. instead
    -> I want to have Chinese food, instead of Italian food last night.
    -> I should have drank a lot of water this morning but instead I drank a lot coffee.
  10. in addition
    -> Our new marketing plan worked really well last month, we noticed increase sales in product A, in addition, we have gained a lot of new customers.