2018-01-01から1年間の記事一覧
8月に、初めてKaggleのコンペに参加したので、その内容を振り返る。(もう1ヶ月たってしまった。。) 取り組んだ期間は8月上旬からの約3週間で参加した。 結果は7189チーム中97位。 目標が上位5%(銀メダル獲得)なのに対し、結果が上位1.5%以内だったので…
KaggleのHomeCreditコンペに参加しました。初めてのKaggleコンペ参加です。 HomeCreditコンペは、ローンの支払が出来たかどうかを予測するもので、Kaggleの中で過去最大の参加者数のコンペでした。 私は、7198チーム中97位(上位1.5%)でした! 目標を上位5%…
麻雀AIでCNN(Convolutional Neural Network: 畳み込みニューラルネットワーク)の構成を考えるにあたって、そもそも画像以外のCNNってどんなのあるんだっけ?と思い、簡単に調べた。 ゲーム関連 盤面を使ったゲーム(囲碁・将棋・チェスなど) 盤面が9x9や19x…
最近はブロックチェーンまわりばかりだったが、 前々からやっていた麻雀AIの強化学習について一旦まとめておく。 麻雀好きの人から機械学習興味ある人まで読めるよう書いたみたけど、どうでもいいとこは飛ばしながら、分からないとこあれば気軽にコメントく…
ブロックチェーンを使ったジャンケンゲーム(デモ)のdAppを作りました。 ゲーム自体はジャンケンなので大して面白くないですが、 ジャンケンというゲームがブロックチェーンの特性理解およびdappsの勉強になるいい題材と思ったため ジャンケンのゲームを作…
開発時にGethから立てたプライベートネットでのテストでもRopstenのようなテストネットやメインネットを想定して、 MetaMaskからアクセスできるようにしておいた方がいいと今更ながら思ったので、その対応のメモ。 特に難しい話ではないけど。 Gethのインス…
日本語での情報があまりなかったので書いておく。 Solidity0.4.22より、require()やrevert()による例外処理でエラーメッセージが出力できるようになった。 記述方法 require(条件, メッセージ); revert(メッセージ); 具体例(require) require(msg.value % 2 …
EthereumでのdApp開発の学習ツールとして有名な「CryptoZombies」を一通りやってみました。 (今出ているLesson6まで) cryptozombies.io 「CryptoZombies」はEthereum上に独自ネットワークを開発しているLoom Network社が提供しています。 「CryptoZombies…
前回分はこちら pao2.hatenablog.com 続きを書きます。 既知の攻撃方法 Race Conditions 最も有名な攻撃の一つ。 DAO事件もこれ。 いくつかのパターンがあるのでそれを紹介する。 Reentrancy メソッドの最初の呼び出しが終了する前に、fallback関数により、…
つい最近話題になった「batchOverflow」についてホットなうちにまとめる。 参考 イーサリアム基盤ERC20トークン“重大バグ”発見|ポロニエックスほか複数の大手取引所取引停止 | 仮想通貨まとめ まぁ重大バグではないが。。 要約 ERC20トークン自体の脆弱性で…
Ethereumでのスマートコントラクト開発、すなわちSolidityでのプログラミングでは、かなりしっかりとしたコーディングをすることが求められる。 なぜなら、 一度ブロックにデプロイしたコードは変更できない 悪意のある人の攻撃により資産を盗まれる可能性が…
急にテーマが代わり、強化学習の話。 しかも、かなりニッチな話。 深層強化学習のライブラリとして「Chainrrl」を使っている。 「Chainrrl」はPreferred Networksが提供しているChainerを使った深層強化学習ライブラリ。 新しい手法とかも実装されているので…
今まで勉強してきた基本的な内容をまとめておきます。 かなり省略気味です。 PlasmaやCasper, RaidenNetworkなど、今後のEthereum内の技術は一旦置いときます。 (あくまでスマートコントラクト開発ということで) Ethereum ブロックチェーン 技術を活用した…
はじめまして Paoといいます。 はてなブログを始めました! エンジニア系のブログです。 簡単にブログを書く目的と自己紹介を書いておきます。 自己紹介 30歳前後 関東在住 情報通信系の大企業勤務 もうすぐ子持ち 関わってきた分野:VR(大学の修士)、Web…