CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
最近は、草原や田園風景などを空中から撮影した綺麗な映像をよく目にするようになりました。これらの映像はドローンによって撮影されているものがほとんどでしょう。景色は少し高いところから見ると全体が見渡せて気分が爽快です。今回はこのすこし高いところから見渡す、つまり「俯瞰する」ということについて考えてみたいと思います。
人類は他の生物種とは比べものにならない脳をもっているので、科学技術だけではなく、文化や芸術などさまざまな分野で膨大な知識を生み出し続けています。人類全体が生み出す知識は増えることはあっても減ることはないでしょう。これに加えて高度に情報化した現代社会は、その変化が速いことにも特徴があります。スマートフォンの普及は典型的な例でしょう。私自身、十数年前にiPhone 3Gをはじめて購入したときは、所謂ガラケーと2台所有していたのを覚えていますが、あっというまにスマートフォンが世界を席巻しました。たしかにスマートフォンは便利ですが、急速な変化に付いてこられていない方々がいるのも事実です。
スマートフォンの使い方くらいなら、その気になれば数日で理解できるかもしれません。しかし、膨大な知識の蓄積はあらゆる分野で起こっています。機械学習や人工知能の分野は最近のホットトピックですが、これらの技術を支えるコンピュータ自体も、量子コンピュータのような新しい技術が生まれつつあります。また生物医学の分野では、新しいがんの治療方法が開発されつつありますし、ゲノム編集技術によってヒトを含めた生物の機能を、ある程度思い通りにすることすら可能になりつつあります。新しい分野を知ることは楽しいですが、限られた時間で増え続ける知識をどのように学ぶかは難しい問題でしょう。そこで提案したいのが、ものごとを俯瞰するという方法です。細かいことにこだわらず、全体を見渡してから細部を知るということを意識すると、学習の効率が変わるのではないかと考えています。
Pythonでデータサイエンスをする場合に必須のライブラリとして有名なpandasを例にすると、まずpandasが何をするものなのかを捉え、DataFrameやSeriesといったデータ型を大雑把に理解し、さらに細かなメソッドの理解へと進むイメージです。最初からDataFrameの細かなメソッドを詳しく知ろうとすると、膨大なメソッドの森で迷子になってしまいます。NumPyやSciPyについても同じことが言えるでしょう。距離行列を計算する関数がSciPyにありますが、同じ計算がNumPyだけでもできます。ただ、SciPyを使った方がわかりやすい場合もあり、細かくみる姿勢と全体を俯瞰する能力のバランスが重要になります。
量子コンピュータから生命科学、Pythonのライブラリと話が飛びましたが、強調したいのは俯瞰する能力の重要性です。しかし残念ながら、俯瞰するというトレーニングを私個人は学校教育で受けた覚えがありません。そもそも学校教育は、決められたカリキュラムを順番に修めていくことを目的にしています。カリキュラムを設計するのは偉い先生方で、さまざまな分野を俯瞰し、学生が学ぶべき領域と学ぶ順番を決めてくれます。教育を受ける側は、言われた通りに進めば良いので俯瞰する必要はありません。しかし、社会の急速な変化の影響は学校教育にもその影響を及ぼしています。プログラミング言語の必修化はその良い例でしょう。
学校教育の中で今のカリキュラムに従いつつ、全体を俯瞰する能力を鍛えるトレーニングがあると良いのではないかと思います。例えば、歴史ならまず全体の大まかな流れを説明し、過去の権力者のパターン分類からはじめるのはどうでしょうか。政治的な争いや戦争の規模や原因も大きく分けることができそうですし、それが人類の歴史の中でどう変化していったのか、大まかな流れを掴むところから授業をスタートさせます。似たようなことは、コンピュータ科学でも可能です。まず、計算とは何か?という根本的なところからはじめます。OSの違いやプログラミング言語の違いなんて些細なことなので、ここでは関係ありません。計算とはなにかを理解するために、現代のコンピュータのモデルになっているチューリングマシンの簡易版を、機械仕掛けで作ってみます。ここで自然に条件分岐と繰り返しで計算を遂行する能力を養います。現実にはさまざまな計算機がある中で、半導体を使ったデジタルコンピュータが広く使われていることを説明したあと、OSやプログラミング言語の種類や歴史を解説すれば、いま目の前のコンピュータがなぜこのような形になっているのかが納得できるのではないかと思います。
今回は、何かを学ぶときにその分野を俯瞰してみる重要性について考えてみました。個人的には俯瞰できると学習の効率が良いと感じているので、学校教育の中でも俯瞰する能力を鍛えるトレーニングが導入されると良いのではと思っています。また、俯瞰することは大雑把に考えることではなく、本質を理解することに近いと思います。まずは全体をなんとなく理解するという俯瞰の姿勢だけでも有用そうですが、そこに本質を見抜く能力が加わるとかなり強力なスキルになりそうです。ただ、俯瞰しながら本質を見抜くことが可能なのか、また俯瞰する能力と本質を見抜く能力にどのような関係があるのか、私自身もまだよくわかっていないので、このコラムを通じて引き続き考えていきたいと思います。
筆者書籍紹介 いちばんやさしいパイソンの本 Python スタートブック ――Pythonの基本をしっかりマスター まったくのゼロからでも大丈夫 辻真吾 著 B5変形判/352ページ 定価(本体2,500円+税) ISBN 978-4-7741-9643-5 詳しくはこちら(出版社WEBサイト) |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes