the Computational Network Toolkit by Microsoft Research(CNTK)のインストール

久しぶりにCNTKを触ってみたら、以前の記事とインストール手順が大分変わっていたのでメモ。以前は必要なランタイムのインストールは手動で行うしかありませんでしたが、インストールスクリプトで自動的に行ってくれるようになっています。

対象OSとなるWindowsは64bit版のみです。CUDAに対応していますが、CUDAに対応したGPGPUを搭載していなくても動作します。

CNTKを動かすにはCUDA7.0が必要になるので、NVIDIAのホームページからCUDA 7.0 (https://developer.nvidia.com/cuda-toolkit-70)をダウンロードしてインストールします。

CNTKのバイナリをhttps://github.com/Microsoft/CNTK/releasesからダウンロードします。GPU版とCPU版が用意されていますが、私が試したときにはGPU版しか置かれていませんでした。GPGPUが無い環境でもCUDA7.0をインストールしていれば、GPU版を動作させることができます。

ダウンロードしたバイナリをC:\local\cntkに展開します。

Powershellを管理者権限で起動して以下のコマンドを実行します。これによりAnaconda3のインストール他、必要な環境の設定をおこなってくれます。

cd c:\local\cntk\Scripts\install\windows
.\install.ps1 -execute

最初に何度かセキュリティ警告が表示されますが、全て「[R]一度だけ実行する」を選択してください。

途中で以下のように選択が表示されるので1を入力してください。

1 - I agree and want to continue
Q - Quit the installation process

最後に以下のように確認が表示されるのでyを入力してください。

Do you want to continue? (y/n)

以上でインストール完了します。

サンプルを実行するにはコマンドプロンプトを開いて、最初に以下のコマンドを実行します。

c:\local\cntk\scripts\cntkpy34.bat

 

セキュリティおよび品質ロールアップのプレビューって何?

WSUSでWindows Updateの承認操作をおこなっていたところ、「セキュリティおよび品質ロールアップのプレビュー」とあって固まる。プっ・・・プレビュー?βなの?テストなの?入れて良いの?と逡巡した。

要は来月の「セキュリティおよび品質ロールアップ」で提供する予定の「品質ロールアップ」のうち、既に利用可能な物を先行配信するので使いたい方はどうぞっって事らしい。あくまで品質に係わる部分だけで、セキュリティに係わる部分は含まないようだ。

ドッグフードテスト担当部署には配信して、それ以外は止めておくのが良いのかな。

参照:Windows 7 および Windows 8.1 のサービス モデル変更についての追加情報

ウィルス検体の提出方法

最近はウィルス添付されたメールが、ウィルス対策ソフトをすり抜けてくることが珍しくない。他のユーザーのためにも、気がついた時点でウィルスの検体を送付するようにしている。そうすれば少なくとも数日内にはウィルス検出パターンが更新されたときに検出されるようになるので・・・。
私が提出先にしているいくつかのセキュリティベンダーでの提出方法を記載しておきます。怪しいファイルが送られてきたときには、是非みんなで送付しましょう。

トレンドマイクロの場合
トレンドマイクロ製品のアクティベーションコードまたはシリアル番号、あるいは法人ユーザーのアカウントとパスワードが必要になります。

法人契約の場合はVirus Support Webにて手順が示されています。こちらの方法は事前にアカウントを作成しておく必要があります。
もしくは疑わしいファイル(ウイルス検体)の調査依頼方法の手順にそって問い合わせフォームから検体をアップロードします。こちらの方法はアクティベーションコードが必要です。
個人ユーザーの場合はウイルスバスター ヘルプとサポートから問い合わせすることになります。

カスペルスキーの場合
My Kasperskyにログインして、マイカスペルスキーサポートへのお問い合わせからリクエストを送信します。

Symantecの場合
次のURLからウィルス検体を送信できます。Symantecの素晴らしいところは、Symatec製品のユーザー以外でもOKなところ。
ウイルスサンプルの提出

Virus Totalを使う場合
VirusTotalと言うサイトにファイルをアップロードすると、様々なウィルス対策製品でウィルスとして検出されるか確認することが出来ます。同時にこのサイトにアップロードした検体はVirusTotalと契約している他のセキュリティ団体にも共有されるようになっています。実際にいくつの団体とデータを共有しているかは明記されていませんが、検体の提出にも繋がります。

Microsoft Cognitive Services API公開

Microsoft Cognitive Services APIが公開されました。Windows 10で追加された画像認識や顔認証、モーション認識、Cortanaの音声認識、自然言語認識、音声合成などのもとになっている各種強力な機能を含む多くのWEB APIが新たに公開されました。ちょっと前まで機械学習に関する知識を身に着け、膨大なサンプルデータと計算資源を自ら用意して計算させなくてはできなかった事が、Web API呼び出しだけで実装できるようになったのは、破壊的に大きな変化ですよ。

しかも試しにちょっと使うだけなら、無料って言う・・・

WindowsXP、2003サポート終了後初の大型セキュリティホール

オープンソースコミュニティとMicrosoftが同期をとりながら専用サイトを使って事前対応の準備を求めるなど、異例の対応がされるなか、BadLockバグの話題が広がってます。セキュリティパッチ公開直後にクラックに応用される可能性が高いことから古いバージョン(4.1以前)のSambaを利用している場合には、パッチ公開日までにサポートの終了していないバージョン(4.2以降)へのアップグレードを済ませておくようにアナウンスされています。
WindowsXPをいまだ使い続けているユーザーや、Windows Server 2003の延命を選択しているユーザーには耳の痛い話題かと思います。なにせ最悪の場合は最も広く業務に使われているであろうファイル共有機能を無効にするか、あるいは後2週間たらずで新しいOSへの移行を完了しなくてはならないのですから。

http://badlock.org/
badlock

JPEGファイルに機密データを埋め込むツールを作ろう・・・って、おぃ

仕事に役立つJavaScript入門:JPEGファイルに機密データを埋め込むツールを作ろう

それ、役に立てちゃ駄目なやつじゃ・・・

というのはさておき、セキュリティを守る側としては「大抵のデータ形式は目に見えない部分に別の情報を保持できるよ」って事は知っておこう。例えばPNGは補助チャンクに任意のデータを埋め込むことが出来るし、xlsxやdocxは拡張子をzipに変換した後に開いて中のXMLファイルに任意のコメントを入れることも出来ます(一端開いて上書き保存すると消えちゃうけど・・・)。

「内部不正による情報セキュリティインシデント実態調査」報告書

IPAによる「内部不正による情報セキュリティインシデント実態調査」を読んだ。悲しいかな、予測の範囲を出ない実態があらためて報告されたように感じる。以下、考えたところを纏めておく。

内部不正の81%は悪意の無い物

内部不正の81%は悪意の無い物だというのが重要。「 ルールを知っていたが、うっかり違反した」「 ルールを知らずに違反した 」「 業務が忙しく、終わらせるために持ち出す 必要があった」「 ルールはあったが、ルール違反を繰り返 している人がいたので、自分もやった」は悪意によるものではない。

・USBメモリの使用やメールへの添付など特定の行為を禁止するなら、ルールを定めるだけではなく、使用不可能にすることが重要。
・仮に使用不可能にすることが出来ないなら、ルール違反には速やかに警告できるように監視体制を構築することが必要。

この二つが実施できていれば、81%については従業員も重大な処分を受けることはないし、会社も損失を被ることは無かったはずだ。正直にいって会社側の責任が大きいと思う。

枝葉の対策に捕らわれずに、業務全体を見直す

悪意を持たない不正の中に「 業務が忙しく、終わらせるために持ち出す 必要があった」と「 ルールはあったが、ルール違反を繰り返 している人がいたので、自分もやった」を合わせて23%ある。業務全体を見直して実施の可否や、その影響範囲、業務手順の変更を同時に行ってないと得てしてそうなる。USBメモリなどの保存して自宅へ持ち帰ることを禁止するのは簡単に思えますが、同時に全業務の棚卸しを行い特定の個人しか実施できない業務がなく、必要なら同僚が何時でも代行できる体制でなければ、業務を遂行するためには持ち帰らざる得ないと考えるのがどおりです。他にも自宅から取引先に直行直帰というわけに行かなくなれば、取引先への訪問に使える時間は減ります。単純に持ち出し禁止とするのではなく、従業員の業務負担を減らすための業務見直しや、サテライトオフィスやテレワークなど代替処置を含めて考えないと、すぐに綻びることになります。

安易に例外を認めない

上長の許可を取れば可能とか、申請をすれば可能とか、安易な例外処置を認めてはいけません。許可申請を行うのが常態化し、本来必要な業務の見直しや代替処置の検討を先送りすることになります。もし例外を認めるなら委員会や役員の許可を得て、特定の業務に対して、業務見直しの期限を設けて許可を与える必要があるでしょう。さもなければ申請を出すのが通常業務の一部とかし、有効性を失いっていきます。

悪意のある内部不正は・・・

禁止事項を設けるだけで防ぐことは不可能です。USBメモリの使用を禁止すればメールで、添付メールを禁止すればWEBで、WEBを禁止すれば紙で、紙迄禁止したら業務にならないのは目に見えています。以下のようなことが必要になります。
・各従業員の行っている業務を明確にし、業務上必要の無い資料の閲覧を禁止する。
・閲覧の許された資料についても閲覧記録を常に監視し、網羅するような閲覧には警告をする。

機械学習でtotoの予測をしてみた(結果)

機械学習でtotoの予測をしてみた

13試合中5試合的中。的中率38%とランダムよりはマシだけど、ランダムと大差ない結果になりました。
totokekka

ランダムと大差ないとかちょっと悔しいので、また学習モデルを検討してみようかな。

機械学習でtotoの予測をしてみた

せっかく学習したのだし多少は実益に・・・・ということで、機械学習(Deep Learning)でtotoの予測を立ててみた。
過去の対戦成績のデータはJ.Leagu Data Siteから頂いた。これだけではつまらないので、気象庁の過去の気象データ・ダウンロードから対戦時の気象情報をダウンロードした。これを元に学習をさせてみる。

チームの構成人員や、それらのパフォーマンスなど入力データを増やすのは疲れるのでやらない。むやみにデータを増やせばよいというものではないし、それらのデータは対戦結果として既にフィードバックされているので問題ないと判断した。

予測結果は次のようになったが、果たして・・・

広島 x G大阪 -> 広島勝
磐田 x 名古屋 -> 名古屋勝
広島 x 川崎F -> 川崎F勝
鳥栖 x 福岡 -> 鳥栖勝
柏 x 浦和 -> 浦和勝
湘南 x 新潟 -> 新潟勝
神戸 x 甲府 -> 神戸勝
横浜FM x 仙台 -> 引分
FC東京 x 大宮 -> FC東京勝
G大阪 x 鹿島 -> G大阪勝
東京V x 札幌 -> 札幌勝
金沢 x 長崎 -> 金沢勝
清水 x 愛媛 -> 引分
山口 x 岡山 -> 引分
熊本 x 松本 -> 引分
群馬 x 岐阜 -> 群馬勝
町田 x C大阪 -> 引分
横浜FC x 讃岐 -> 横浜FC勝
千葉 x 徳島 -> 徳島勝
京都 x 水戸 -> 水戸勝
北九州 x 山形 -> 北九州勝

totokounyuu

the Computational Network Toolkit by Microsoft Research(CNTK)のインストール

WindowsでCNTKを動かしてみたいと思います。

対象OSとなるWindowsは64bit版のみです。CUDAに対応していますが、CUDAに対応したGPGPUを搭載していなくても動作します。

CNTKを動かすにはCUDA7.0が必要になるので、NVIDIAのホームページからCUDA 7.0 (https://developer.nvidia.com/cuda-toolkit-70)をダウンロードしてインストールします。

CNTKを動かすにはVisual Studio 2013のランタイムDLLが必要になるので、MicrosoftのホームページからVisual C++ Redistributable Packages for Visual Studio 2013(http://www.microsoft.com/en-us/download/details.aspx?id=40784)をダウンロードしてインストールします。

CNTKを複数台のPCを使った分散環境で動作させるにはMS-MPI SDK(https://msdn.microsoft.com/en-us/library/bb524831(v=vs.85).aspx)が必要になります。なくともスタンドアロンでは動くので、取りあえずスルーします。

CNTKのバイナリをhttps://github.com/Microsoft/CNTK/releasesからダウンロードします。GPU版とCPU版が用意されていますが、私が試したときにはGPU版しか置かれていませんでした。GPGPUが無い環境でもCUDA7.0をインストールしていれば、GPU版を動作させることができます。

とりあえずサンプルを動作させてみます。ダウンロードしたzipファイルを適当なフォルダに解凍します。cntk\cntkとcntk\exampleと言うフォルダが出来ます。\cntk\Examples\Other\Simple2dに移動して次のコマンドを実行します。

[解凍先]\cntk\cntk\cntk.exe configFile=Config\Simple.cntk

何というか、拍子抜けするぐらいお手軽です。Simple.cntkのコンフィグファイルでニューラルネットワークの構成や学習に使用するデータを指定します。設定ファイルの構文は独特ですが、それほど難いわけではありません。データを空白区切りのテキストファイルとして用意すれば、いつでもお手軽に使えそうですね。

参考:Setup CNTK on your machine