将棋AIで学ぶディープラーニング

AlphaGoのディープラーニングの仕組みを詳しく説明してくれていてありがたい。

将棋AIで学ぶディープラーニング

将棋AIで学ぶディープラーニング

将棋とかだと評価関数のパラメータ学習させるNNなんかを想像するけどCNNでやるんだね。
盤面や持ち駒の表現の仕方はこんな風にするんだと驚きました。勉強になります。
スパースなデータ表現をしてそれをCNNで特徴検出するのは案外よくやる手何ですかね。
強化学習のさせかたなんかも参考になる。

DeepCode

以前からアイデア的には僕にもあったのですが、やはり出て来ました。Deep Learningでプログラムを診断・修正する仕組み。
さらに複雑度の高いメソッドを自動的にリファクタリングするとか、自動テストが自動的に生成されるとかいいだけどな。
IDEリファクタリングツールで教師データを集めて学習させる仕組みを考えればできそうなんですが。。。

シンタックス的VSセマンティック的プログラミング

リファクタリングシンタックス的な改造。リストラリングはセマンティック的な改造。
安全なのはシンタックス的な改造。改造以外のプラグラミングにおいても同様のことが言えるのではないかと最近思っています。
逆に言うとセマンティック的な観点が多く含む状況でのプログラミングはバラツキが多く品質が安定しないと言う仮説です。
実装ガイドを作成する時にはこのシンタックス的に作業ができるかを観点にすると良いのではないかという考えです。

起業の科学

アマゾンの一位になっていたので読まれた方も多いと思いますが
久しぶり一気に読破しました。この手の本は翻訳本が多いのですが、日本の方が日本のスタートアップも含めて書かれています。

起業の科学  スタートアップサイエンス

起業の科学 スタートアップサイエンス

質の良い課題がないと、質の良いソリューションは出来ない、この点が心に残りました。

最近SIerがBizDevOps組織を立ち上げている?

最近アジャイル開発の話を良く聞くようになった。その中で、SIerも従来のウォーターホールではなくアジャイル開発に対応すべく組織の変えて行っているとのこと。
この話の文脈にはスタートアップのような新しいビジネスモデルをローンチするための開発部隊としての役割があるのだが、この話しを聞いていてぼくはSIerにこの役割は難しいような気がしてしまった。

アジャイル開発に関しては契約的な難しがあるが、それ以外に、開発者としてのSIerは失敗しない開発を目指すが、それでは競争力のあるサービスをタイムリーに出すことは難しいと感じたからである。スタートアップの世界では、売れない製品をいくら品質高く作っても意味がない。ビジネスサイドの要求を素早く世に出すためには、少数のエンジニアがより生産性の高い最新技術を駆使して開発するスタイルになるが下請構造で数がウリのSIerにはこのスタイルは難しいと考えているからである。

FacebookNetflix、日本だったらメルカリでやっていることをSIerは学んでアジャイルリーンスタートアップの開発スタイルを進めて欲しい気がした。