はじめに

無視していい事実なんてないのよ。事実に反する理論なら、捨てておしまいなさい。

- Agatha Christie(1890-1976)

みなさん、こんにちわ。「ICTを支える『考え方』シリーズ」のディレクターをしております、T.Tosaki(とさき たかひろ)です。
本ページでは、シリーズ全体の解説、各トピックの解説と勉強会資料(PDF版)、ならびに、参加者の皆様の声をお届けいたします。
開催予定のご確認と、参加のお申し込みは、別途、eLVイベントページ から行っていただくことができます。
eLVでは、本シリーズ以外にも、さまざまな勉強会を開催しておりますので、ぜひ、ご確認ください。

資料は、最新版を公開しておりますので、これまでにご参加いただきました皆様にも(ありがとうございます!)、ご確認いただけますと幸いです。
一方で、これまでにご参加されたことのない皆様も、トピックや資料にご興味がございましたら、ぜひ、eLVにおいでくださいませ。

ICTを支える「考え方」シリーズとは

知性の真の姿は、知識ではなく、考えを組み立てる力です
- Albert Einstein


ICT業界のプロにとって、知らなくてもいい知識分野はありません。ICTに全く応用できない知識分野は、まずないからです。
とはいえ、全てを知ることは、一生かけてもかないませんし、人の認知能力、記憶力には、限界があります。

それでも、ICTに幅広く応用可能な、知識の習得方法は存在します。各分野の専門家とITとのコラボによって、熟考され、実証されてきた、この分野ではこう考えるのが基本という、「考え方」を理解することです。

無数の技術、製品やソリューションの表面だけを追いかけると疲れてしまいますが、その根底にある「考え方」を知ると、複雑なICTの世界がシンプルにまとまり、未知や変化に対応する力が生まれ、関連の無いと思っていた知識が繋がり、新たな価値を見出すことさえあるでしょう。

本シリーズは、専門分野の枠を超え、特にICTへの応用範囲の広い知識分野から、基本(重要)とされる「考え方」と、シンプルな応用例を厳選し、トピック別に参加可能な形で、無限の応用のきっかけとなる、「考えを組み立てる力」を、お持ち帰りいただくシリーズです。

シリーズ予定


*各トピックは、複数回開催予定です。また、開催順や内容が変更になる可能性があります。
*シリーズに関する追加・変更・パワーアップは、本ページでお知らせいたします。

S01 数学の考え方(圏論編)

次世代コンピュータは、集合論ではなく、むしろ圏論に立脚すると見てまず間違いないだろう。
そして、そうと意識するかどうかによらず、圏は我々の日常生活にも入り込んでくるだろう。
- Edward Frenkel (1968- ), Love & Math (2013), 「数学の大統一に挑む」 青木 薫 訳


圏論(Category Theory)とは、数学のさまざまな分野の対象を、矢印(→)の図で示すことによって、統合し、単純化できる、という考え方から発展した、シンプルかつ強力な数学の理論です。
ICT分野においては、圏論の矢印を関数と捉えられることから、当初は関数型プログラミングをはじめとした領域で応用されましたが、今世紀に入り、クラウド、ビッグデータ、IoTの時代において、複雑な要求の単純化と、平行性(Concurrency)の確保に不可欠な「考え方」となり、具体的には、ラムダ抽象、矢印とその合成・分解・反転、クロージャー、ファンクター、モノイド、モナド、遅延評価、参照透過性、不変値、No Side Effect などの「考え方」が、クラウドサービス、プログラミング言語、データ処理設計等、様々な領域で、Googleを筆頭とする、数々の成功例を生み出しており、今後、コンピューティングの基礎を支える理論とされています。
数学理論の純粋な表現は、ICT の設計に、普遍性のある保証をもたらします。いつ、どこで、誰が(何が)実行しても、論理の破綻しない保証です。この保証を得ることで、使えるリソースのある限り、どのような規模の処理も設計可能となります。数学理論の純粋な表現を追求し、ICT業界に多大な影響を与え続けている、関数型言語と、その影響を理解することで、IT技術を牽引する人々が、いわば、理想(数学)と現実(ICT)のギャップを、どのように埋めようとしているのか、その考え方を身につけましょう。

勉強会資料


最新版PPT(PDF版、2017年3月10日更新:圏論に関する情報追加を行い、また、自然変換の説明図をシンプルなものにしました。)
基本デモスクリプト(PDF版)



参加者の皆様の声(アンケートより)


「デモがはさんであってわかりやすかったです。」 「モナドが気になっていたのできけてよかったです。」 「モナドまでは理解していたのですが圏論ははじめて学んだので、とてもよかったです。」 「圏論的な視点でファンクタやモナドを学ぶことができた。とてもおもしろかった。」 「Java の Stream やラムダの意義が分かっていなかったが、考え方がわかったので、理解を深められそう。」 「ITアーキテクト養成講座というのを受講したのですが、考え方の基本が、本日の圏論に基づいたものでした。良くわかって大変有意義でした。」 「もう一度 Haskell に挑戦しようと思いました。関西での開催予定はないでしょうか・・・」 「むずかしかったので、Haskell を触ってからもう一度聞いてみたい」 「圏論自体初めてだったため、多くの Keyword が入手できた。」 「すごくおもしろかったです。」 「圏論と Haskell の対応について、初めて学ぶことができました。ありがとうございました。」 「普段勉強する機会がないテーマなので、とてもよかったです。発展的に更に勉強したいと思いました。」 「群論もほぼ初めてだったので、圏論との関連性が少しでもわかったのは良かったです。」 「また自分にない知識をかみくだいてレクチャーしてもらえると助かります。」 「関数型言語に関連する考え方を知ることができ、勉強になりました。」 「具体例が挙げられて分かりやすかったです。」 「知らないことを知れる、という意味で、とても期待している。引き続き参加したい。新しい視点を得られる場。」

ギークロイドさんの記事「勉強会に行ってみた!」(取材・原稿:三土たつおさん)

マイナビ・ギークロイドさんの 「『勉強会に行ってみた!』第34回 」 で、S01 数学の考え方(圏論編)が紹介されました。ぜひ、ご参照ください。
*ちなみに、同サイトの模様替えにともない、「いいね!」の数がリセットされてしまいました。ユーザの意思表示が消されてしまうのは残念ですが、少なくとも当初、30名はいらっしゃった、「いいね!」意思表示をしてくださった皆様、ありがとうございます!

S02 心理学の考え方

目が何を捉えようとも、私たちは、内なる願望に応じて、脚色し、成型する。
- Thomas Hardy (1840-1928), Far from the Madding Crowd


ICTの世界では、人の行動が結果を左右する場合の分析と、人の行動を左右したい場合、例えば、UI設計・改善、運用設計、マーケティング戦略、サービス戦略、それから、組織運営やプロジェクト管理等、様々な分野、様々なフェーズで、心理学の成果のみならず、心理学におけるテスト方法などの考え方が、応用されています。
心理学(Psychology)とは、行動(behavior)と、心(mind)を研究する学問分野であり、主に人間の、一生を通じた、全ての活動が研究対象となります。当初は、人の行動、容姿や性格などを観察し、分析することから始まる、人文科学的アプローチが主でしたが、現代では、人体の構造と機能を理解することから始まる、自然科学的アプローチが加わり、両アプローチのコラボ分野となっています。
心理学を応用するにあたって、人文科学と自然科学、いわば、Soft Science と Hard Science の、2つのアプローチの考え方を知り、その特性と限界をイメージできること、さらには、詐欺科学的アプローチの指摘方法を知り、科学的な見せかけに惑わされない考え方を知ることは、さまざまな場面で有用な、判断力の素となることでしょう。心理学は使える?使えない?を感覚で判断するのでなく、判断理由を説明できるようになりましょう!

勉強会資料


最新版PPT(PDF版、2017年5月24日更新)



参加者の皆様の声(アンケートより)


「心理学は大学でかじっていたが、役に立たない学問と思っていたので、よかった。新たな発見があった。」 「人文科学的・自然科学的アプローチなど、アプローチ的な話から、脳構造などハード面の話まで、盛りだくさんで興味深かった。」 「網羅性の高い資料になっていると感じました。」 「脳の心理を3段階に分ける考え方はわかりやすかった」 「今後の勉強会も楽しみにしています!!」 「最後のほうがおもしろかったので、時間たりなくて残念。」 「参考になるページ、URL、学者の名前の紹介(がよかった)。」 「日本語化されていないものの紹介が面白かったです。」 「昨年はじめて参加したテーマでした。やはり2回づつが理解しやすい。『考え方』シリーズ全体のイメージが出てきました。全て2回づつ参加したい。」 「(予告のあった)物理学は非常に興味があるので是非参加したい。」 「トピックが変わっていて面白い。だから行こうと思える。この傾向は続けてほしい。」

S03 統計学・確率論・情報理論の考え方

データが揃う前に推理をするのは、致命的な間違いだよ。事実に合う推理をせず、知らず知らずのうちに、推理に合うように事実を捻じ曲げてしまうからね。
- Arthur Conan Doyle, Sherlock Holmes


統計学、確率論、情報理論の根本にある考え方は、不確実性への対応です。その動機は、不確実な世界を、できる限り確実に捉えて安心したい、不確実な未来を、できる限り予測して安心したい、という人間の欲求です。この欲求を満たすための応用こそ、価値ある応用といえるでしょう。
しかしながら、この三者を生かせるかどうかは、使い方次第です。リーマンショック前の経済予測、最大震度予測、臨床効果予測など、統計学、確率論を応用した専門家の判断や予測は、けっこう外れています。専門的であるということが、志向や都合の偏りである可能性を考慮しないと、AI、MLといった技術が、妄想マシン、詐欺マシンを作り出してしまいます。
一方で、品質管理や、マネーボールといった、成功例を見ると、因果関係を見据えた、公正なデータ選定が、重要だとわかります。入力が偏れば、出力も偏る、ICTの専門家に、必須の思考です。
統計・確率の考え方は、ICT分野のみならず、ほぼ全ての学問分野、ビジネス分野で必須の考え方であり、その重要性が低下することは無いでしょう。統計学、確率論、情報理論について、それぞれの考え方を関連付け、まとめて理解しておくこと、そして、応用における失敗例、成功例から、その特性と限界を知っておくことは、現代のICTに関わる人々にとって、多くの場面で役に立つこと、間違いなしです。

勉強会資料


最新版PPT(PDF版、2017年5月17日更新)
基本デモスクリプト(r__demo.R)
Cat Cafe データ(catCafe02.csv)



参加者の皆様の声(アンケートより)


「とてもおもしろかった。流れるような説明で、素直に頭に入りました。独学で理解はしていましたが、整理できて良かったです。インフォメーションゲインは、初めて知りました。」 「例示が多く、一貫しているのが分かりやすかった。」 「アニメーションやグラフが美しく、マネたくなりました。」 「情報理論は良書があまりなく、情報理論の解説がよかった。情報理論の説明を重視してほしい。」 「確率がある程度既知の内容だったので、より統計・情報理論によった話に力点が置かれると嬉しかったです。」 「むずかしかった・・・でも、おもしろかったです。学んでみたいと思います!!」 「内容がもりだくさんで、おもしろかった」 「題材が Cat cafeでよかった。もっと時間がほしかった。」 「情報をどういう観点でみるのか、具体例とともに知ることができました。」 「過去に勉強したはずのことのほとんどを忘れていることに気づかされました。」 「量が少し多過ぎたかも。でも今日のゴールの全体像をお話いただけたのがよかった。資料やRなどのコードシェアはとてもよい。」 「非常に有意義に、体系的に、知識をブラッシュアップできた。」 「とても勉強になりました。」 「おもしろかった。全体をかけ抜けることでわかる関連性もある」 「今までわからなかった帰無仮説、対立仮説の所が少しわかった」 「とてもおもしろかった。(もっと)ITとの関連部にフォーカスがあってもよい。ネコがかわいい。」 「正規分布の導入の話、Rでのシミュレーションがよかった。」 「リラックスできる雰囲気でよかったです!」 「Rのデモがとてもおもしろかった。」 「すごくわかりやすくて面白かったです。また参加します。別のに。」 「確率の設定は、自己責任(という新たな発見があった)。」 「『統計学といっても、判断は人 or AIが正す手段を持つこと』に気づいた。」 「(説明やまとめ方が)ていねいに記述しています。」 「ポイントがまとまっていて、分かりやすかった。」 「自分のレベルが良くわかった(悪い意味で...)。」 「考え方シリーズに、まんべんなく出たい。」

S04 計算理論の考え方

絶対に間違わないマシンを期待するなら、そのマシンは、知的にはなりえない。
- Alan Turing(1912 -1954)


ICTエンジニアが学ぶ、技術的対象というのは、コンピュータの仕組み、ネットワークの仕組み、プログラミング手法、データの符号化、表現や分析手法、プロトコル、アルゴリズム、設計手法、製品知識、技術動向、技術標準、資格試験の過去問、○○指向、○○法、○○シンキング、○○メソッド… すべては、「計算」の本質に基づいた、派生テクニックです。こうすればいいかも、という「答え」です。千差万別の「答え」には、千差万別の「考え方」があります。
一方で、「計算」の本質を捉える「考え方」は、唯一、「状態遷移」だけです。
そのため、全てのコンピュータは、状態(演算結果)の遷移モデル、すなわち、オートマトン、ラムダ抽象、もしくは、圏論の言葉で表現可能です。世界を計算で捉えるための、万物の理論、計算理論の「考え方」を、身につけましょう。
計算理論は、主に、オートマタ理論、計算可能性理論、及び、計算複雑性理論のコラボ分野となります。MITやスタンフォードなど、海外の有名大学では、複数の講義内容が公開されている一方、残念ながら、日本語では、学ぶ機会の少ない理論となっています。
とはいえ、「計算とは何か?」、「コンピュータとは何か?」をシンプルに突き詰めた人類の英知、根本的で役に立つ「考え方」を知らないまま、ICTのプロフェッショナルをやっていたのでは、人生がもったいない、IT業界にいながら、どうして初めからこれを学ばなかったのだろう、と、理解した方は思う、ただし、理解したのはいいけれど、そのパワーを人に説明するのが難しい、計算理論は、そんな理論です。 今回も、内容が盛りだくさんですが、すべては、「世界を計算で表現するための考え方」、というお話になりますので、その点を頭において、お聞きいただければと思います。
そして、まじめな話、人工知能や機械学習を議論するまえに、必須の考え方です。アインシュタインのように謙虚になって、本質を捉えるための考え方から、固めていきましょう。

知的生命体が、他の惑星にいるかだって?地球上に存在するかどうかさえ、怪しいと思うよ!
- Albert Einstein


勉強会資料


最新版PPT(PDF版。2017年3月24日更新。)



参加者の皆様の声(アンケートより)


「何となく学びたいと思っていたが、とっつきかたが分からなかったので、視野が広がります。新たな発見があった。」 「質の高い資料で、とてもよかった。」 「特に計算複雑性理論に興味があり参加しましたが、より広い理論に触れることができ、計算に関する勉強の意欲が増しました。ありがとうございました。」 「有料でもいいので、徹底的に分かるまで聞きたいです。」 「(2時間では)時間が足りない?(^^)」 「時間の長いバージョンを開催してほしい。」 「自分には難しすぎましたが、何を学ぶべきかシラバスがわかった。」 「計算複雑性の部分をもう少しじっくり聞きたかったです。」 「物理的なコンピュータはメモリを上書きしていることと理論上のコンピュータとの関係(理論と実践)をさらに深く知りたい。」 「量は多かったが、どれも関数プログラミングに近い概念が多く、興味深かった。」 「チョムスキー階層(特にチューリングマシン)と遺伝的アルゴリズムをさらに深く知りたい。」 「少し後半ハイペースだったが、まとめ方がとてもよかった。」 「事前知識があまりなくても、楽しめました。」 「(資料がよかった)後で見返しやすいと思いました。」 「今回すごくむずかしかった。」 「説明やまとめ方がとてっもよかった。難しかったけれどわかりやすく説明して頂けた。」 「この資料で事前に予習しておきたかった。」 「(資料で言及している)圏論のプログラミング言語上での応用をさらに深く知りたい。」 「説明やまとめ方がとてもよかった。スピードが丁度よく、スライドを見ながら聞くと、大変理解しやすかった。」 「個人的には大変面白かったが、(理論に興味が薄い)現場のエンジニアの人にみりょく(や意義)をどう伝えるのが良いのか、気になる。」 「A) 圏論やFormal methodに興味があり B) 仕事としてはDeep Learning, cloud computingの知識が必要です。A) B) の相互の関連があり、役に立てることができれば...(今後、そういう内容に期待)」

S05-A 物理学の考え方(時空・ベクトル・テンソル編):制作中!





勉強会資料のご利用について

本シリーズ資料の商用利用を禁じます。商用利用以外の目的における配布は、無断で内容に変更を加えない限り、形態を問わず自由ですが、本シリーズ資料の全部または一部を転記する場合には、転記の形態を問わず、下記著作権表示とともに、本資料が出典であることを明記してください。

ICT を支える「考え方」シリーズ ©2016-2017 Takahiro Tosaki and CRE-CO, Inc. All Rights Reserved.

本シリーズ資料のカスタマイズ、個別勉強会の開催、その他お問い合わせにつきましては、ユーザー名 tosaki、ドメイン cre-co.jp のメールアドレス宛にお願いいたします。なお、本シリーズ資料の利用により生じた損害は、いかなるかたちにおいても補償いたしません。