平成の桃太郎

ロゴ

アーカイブ

トップブログĠ アーカイブ

» 立憲パートナーズで一緒に何かやりませんか?

立憲パートナーズで一緒に何かやりませんか?
パートナーズ関連の公式イベントカレンダーがあるのですが、関東では12月は14件のイベントの登録がある一方で、東海はまだ0件です。ここに、何かしらのイベントをやってみたいと思います。

詳細はまたブログ書きます。
僕がブログ書かなくても意味がわかる方はぜひ、いろんな提案ください。

 



スクリーンショット 2019-12-10 21.10.21

 

» 数値微分をPythonでやってみる

前回のブログでは、自動微分を実際に手で計算することで、関数を四則演算の単純な組み合わせに分解し、その計算順序に従って微分をすることで、解析的な解き方と同じ答えが求められることを確認しました。

今回のブログは、自分で計算するのではなく、Pythonというプログラムを使って、パソコンで微分をしてみよう、という内容です。

いきなり、自動微分をプログラムするのは難しいので、まずは数値微分のプログラムの紹介です。ちなみに、僕はプログラミングはfortran77しかやったことないです。ただ、自宅のパソコンにfortranのコンパイラがないし、ネットで探すのも面倒くさいので、これを機に、Pythonで微分をやってみましょう。

classで任意の、例えばlogとか好きな関数を定義して、求めたい関数になるように組み合わせれば、その関数の導関数値を求めることができます。高校生の授業や大学受験で苦しんだ微分も、プログラミングを使えば簡単に解けます。ただ、パソコンではlim h→0というように無限大に小さいという概念は、現実的にはh=0.0001などと定義してあげる必要があり、誤差の原因になることと、数値微分はあくまで導関数値という数字を求めることであり、導関数を求めることができない点に注意が必要です。

 

CCI_000016

CCI_000017

ゼロから作るdeep learning 3 から、プログラムは持ってきました。とてもおもしろいので、出版したら買います。https://www.dropbox.com/sh/l9cw1jmozqel6ps/AAC0MVzIwjH9S6ge4AN6f0n-a?dl=0&preview=stage1.pdf#

» 自動微分を手動でやってみる

自動微分を手動でやってみるという表面的な日本語としては違和感を感じますが、このタイトルでOKだと思います。

感動のポイントとしては、普通に関数を計算するのと同じ手順で、四則演算の計算の組み合わせで、導関数を計算することができることです。複雑な関数であっても、単純な式の組み合わせで、その関数の勾配を求めることができ、しかも数値微分よりも正確に計算することができる。

自動微分の特徴としては、関数をアルゴリズムの概念で扱うので、その関数が数式的に表現できないような複雑な条件、例えば繰り返しの計算や条件分岐による式の変化にも柔軟に対応できることです。

自動微分がなぜ重要なのか。人工知能もしくは機械学習の分野で、特定の変数の値に対応した関数の勾配を求めることで、勾配降下法という手法を使って、目的の関数の最小値を得ることができるからです。勾配降下法を使うには、関数の勾配を求める必要があり、その有力な手法が自動微分ということです。

 

 

1

2

3

4

 

» シンクライアント方式でデータが消えるのはおかしい

工学部向きの政治話題がひとつ増えました。放射線量のSv:シーベルトに類似した分かりにくい話題だと思います。

本日の参議院本会議にて安倍首相が、内閣府のデータはシンクライアント方式を採用しているため、(桜を見る会の出席者名簿の)復元は不可能、と答弁しました。この「シンクライアント」というワードが、ヤフートレンド入りするなど注目を浴びています。

今回は、シンクライアントって何なんでしょう?について解説します。個人的な思い出としては、名古屋大学でも研究室に配属されて専用パソコンを支給されるまでは、プログラミングの授業などは共用パソコンで、シンクライアント方式で授業を受けていた記憶があります。

いきなり答えですが、シンクライアントとは、パソコン業界の言葉で、利用者が使うパソコンの機能は必要最小限のデータの保管や業務処理能力だけを付与して、実際のデータの保管や負荷の高い業務はサーバー側で処理するパソコンの使い方を意味します。

例えばですが、僕たちも普段インターネットを使って、グーグルやヤフーを使って調べたい言葉を検索します。普段何気なく使っているのであまり気にならないですが、グーグルで調べたい言葉を入力した瞬間に、検索結果は表示されますよね。世界中にあるwebサイトを片っ端まで調べて、その上で、調べたい言葉に関連があるページを探してきて整理して表示するって、とてつもなく大変な作業なのに、グーグルを使えば一瞬で調べることができます。これは、自分が使っているパソコンやスマフォが実際に調べているわけではなく、グーグルの超高性能サーバーが普段から世界中のネットを検索しまくって、データとして保管してくれている情報を、僕たちはその任意の一部のデータを呼び出すことで検索結果を瞬時にみることができます。この、一部を呼び出す、というのが本質で、元となるデータやその処理は実際にはサーバー側で行われているのであり、個々の端末やパソコンはあくまでその一部を参照しているに過ぎません。

一般的に、サーバーはいつ壊れていいように、常にバックアップを取りながら稼働しています。つまり、政府側は名簿を消去したと主張しますが、それは個々の末端の端末の状態を示すのであり、サーバー側のデータやバックアップを末端のユーザーがサーバーにアクセスして消去することは普通はありえません。だから、原則としては、名簿はサーバー側に残っている、もしくはサーバーに現時点では残っていなくても差分データのバックアップが残っている可能性は極めて高いのではないでしょうか。そもそも、そういう意図しないデータの消失などに備えてのシンクライアントでの運用ではないでしょうか。国家の情報が例えば担当者のミスとか、パソコンが壊れたとかで情報が失われたら、問題です。そうした問題を解決する手法のひとつがシンクライアントだと思います。

僕はてっきり、名簿管理はネットに繋がっていない、クローズドな環境のパソコンで管理運営されているのかと思っていましたが、そうじゃないのですね。