|
AI研究所によると、昨年末に発表されたジェフリー・ヒントン氏のカプセルネットワークを覚えている人も多いだろう。ヒントン氏のチームは論文「カプセル間の動的ルーティング」の中で、斬新なネットワーク構造を提案した。ネットワーク構造が混沌とすることを避けるため、同じカテゴリや属性に焦点を当てたニューロンをカプセルのようにグループ化することを提案した。ニューラルネットワークが機能すると、これらのカプセル間の経路は疎に活性化されたツリー構造(ツリー内の特定のパス上にある一部のカプセルのみが活性化される)を形成する。これにより、カプセルネットワークの解釈可能性が向上する。 実験結果では、CapsNetは数字認識と堅牢性の両方で良好な結果を達成しました。詳細については、「ついにHinton氏の新しいCapsule論文が発表されました。深層ニューラルネットワークの新時代を告げるものとなるでしょうか?」の記事をご覧ください。 最近、論文の筆頭著者であるSara Sabour氏がGitHubでコードを公開し、誰でもすぐに実践できるようになりました。Leifeng.com AI研究所は、以下のチュートリアルをまとめ、要約しました。 必要な構成:
次のようなテスト プログラムを実行して、インストールが正しいことを確認します。 Pythonレイヤーテスト.py
クイックMNISTテスト:
python experiment.py --data_dir= $DATA_DIR /mnist_data/ --train=false \ --summary_dir= /tmp/ --checkpoint= $CKPT_DIR /mnist_checkpoint/m odel.ckpt- 1
クイックCIFAR10アンサンブルテスト:
python experiment.py --data_dir=$DATA_DIR --train= false --dataset=cifar10 \ --hparams_override=num_prime_capsules= 64 、padding=SAME、leaky= true 、remake= false \ --summary_dir= /tmp/ --checkpoint=$CKPT_DIR/cifar/cifar{}/model.ckpt- 600000 \ --num_trials= 7
CIFAR10 トレーニング手順:
python experiment.py --data_dir=$DATA_DIR --dataset=cifar10 --max_steps= 600000 \ --hparams_override=num_prime_capsules= 64 、padding=SAME、leaky= true 、remake= false \ --summary_dir= /tmp/
MNIST の完全なトレーニング手順:
python experiment.py --data_dir=$DATA_DIR /mnist_data/ --max_steps= 300000 \ --summary_dir= /tmp/attempt0/
MNIST ベースライントレーニングの手順:
python experiment.py --data_dir=$DATA_DIR /mnist_data/ --max_steps= 300000 \ --summary_dir= /tmp/attempt1/ --model=baseline
上記モデルのトレーニング中に検証をテストするには: 上記のモデルをトレーニングするときは、検証セットでテストします (トレーニング中は命令が継続的に実行されることに注意してください)。
python experiment.py --data_dir=$DATA_DIR /mnist_data/ --max_steps= 300000 \ --summary_dir= /tmp/attempt0/ --train= false --validate= true
ユーザーは、`--num_targets=2` と `--data_dir=$DATA_DIR/multitest_6shifted_mnist.tfrecords@10` を使用して、MultiMNIST でテストまたはトレーニングを行うことができます。multiMNIST/MNIST レコードを生成するコードは、`input_data/mnist/mnist_shift.py` ディレクトリにあります。 multiMNIST テストコード: python mnist_shift.py --data_dir= $DATA_DIR /mnist_data/ --split=test --shift= 6 --pad= 4 --num_pairs= 1000 --max_shard= 100000 --multi_targets= true
affNISTのexpanded_mnistは、--shift=6 --pad=6を使用して構築できます。 論文リンク: https://arxiv.org/pdf/1710.09829.pdf GitHub アドレス: https://github.com/Sarasra/models/tree/master/research/capsules |