Life Hack

雑用に対する心得

  • 必ず一回断れ
  • 締切前に終わらせるな
  • 催促が来るまで手をつけるな
  • メールをすぐに返すな
  • クオリティは最低限にしろ
  • 休日深夜早朝は対応するな
  • 出張を上手く使え
  • 雑用はチキンレース

2018年8月10日追加

生産性に関するファインマンの四つの戦略

  1. 「すべてを知ろう」とするのをやめよ。
  2. 他人が何を考えているかを気にするな。
  3. 自分が何になりたいかではなく、何をしたいかを考えよ。
  4. ユーモアの感覚を持ち、正直に話せ。

2018年8月9日追加

AI論文

"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks", Mingxing Tan, Quoc V. Le

  • paper
  • 要約

    • 畳み込みニューラルネットワーク(ConvNets)は一般に固定のリソースバジェットで開発され、より多くのリソースが利用可能であればより良い精度のためにスケールアップされます。このホワイトペーパーでは、モデルのスケーリングを体系的に検討し、ネットワークの深さ、幅、および解像度を慎重にバランスさせることでパフォーマンスが向上することを確認します。この観察に基づいて、我々は、単純であるが非常に効果的な複合係数を使用して、深さ/幅/解像度のすべての次元を均一にスケーリングする新しいスケーリング方法を提案する。MobileNetsとResNetのスケールアップにおけるこの方法の有効性を示します。 さらに進むために、ニューラルアーキテクチャ検索を使用して新しいベースラインネットワークを設計し、それをスケールアップしてEfficientNetと呼ばれるモデルのファミリーを取得します。これにより、以前のConvNetよりもはるかに高い精度と効率が得られます。特に、EfficientNet-B7はImageNetで最先端の84.4% top-1 / 97.1% top-5の精度を達成しながら、最善の既存のConvNetよりも8.4倍小さく、6.1倍高速です。当社のEfficientNetは、CIFAR-100(91.7%)、Flowers(98.8%)、その他3つの転送学習データセットで、転送パラメータを大幅に削減し、最先端の精度を達成します。
  • Abstract

    • Convolutional Neural Networks (ConvNets) are commonly developed at a fixed resource budget, and then scaled up for better accuracy if more resources are available. In this paper, we systematically study model scaling and identify that carefully balancing network depth, width, and resolution can lead to better performance. Based on this observation, we propose a new scaling method that uniformly scales all dimensions of depth/width/resolution using a simple yet highly effective compound coefficient. We demonstrate the effectiveness of this method on scaling up MobileNets and ResNet. To go even further, we use neural architecture search to design a new baseline network and scale it up to obtain a family of models, called EfficientNets, which achieve much better accuracy and efficiency than previous ConvNets. In particular, our EfficientNet-B7 achieves state-of-the-art 84.4% top-1 / 97.1% top-5 accuracy on ImageNet, while being 8.4x smaller and 6.1x faster on inference than the best existing ConvNet. Our EfficientNets also transfer well and achieve state-of-the-art accuracy on CIFAR-100 (91.7%), Flowers (98.8%), and 3 other transfer learning datasets, with an order of magnitude fewer parameters.

"Deep Learning for Generic Object Detection: A Survey", Zhengxia Zou, et al.

  • paper
  • 要約
    • 自然画像内の多数の事前定義されたカテゴリからオブジェクト実体を見つけることを目的とした一般的なオブジェクト検出は、コンピュータビジョンにおける最も基本的で困難な問題の1つです。データから直接特徴表現を学習するための強力な方法として、ディープラーニング技術が近年出現しており、一般的なオブジェクト検出の分野で目覚しい進歩をもたらしました。今回の急速な進化を踏まえて、このホワイトペーパーの目的は、ディープラーニングテクニックによってもたらされた、この分野における最近の成果の包括的な調査を提供することです。この調査には、一般的な物体検出研究の多くの側面をカバーする250以上の重要な貢献が含まれています。主要な検出フレームワークと物体特徴表現、物体提案生成、文脈情報モデリングと訓練戦略を含む基本的な副問題。評価の問題、具体的にはベンチマークデータセット、評価指標、および最先端のパフォーマンス。将来の研究のための有望な方向性を特定することによって締めくくります。
  • Abstract
    • Generic object detection, aiming at locating object instances from a large number of predefined categories in natural images, is one of the most fundamental and challenging problems in computer vision. Deep learning techniques have emerged in recent years as powerful methods for learning feature representations directly from data, and have led to remarkable breakthroughs in the field of generic object detection. Given this time of rapid evolution, the goal of this paper is to provide a comprehensive survey of the recent achievements in this field brought by deep learning techniques. More than 250 key contributions are included in this survey, covering many aspects of generic object detection research: leading detection frameworks and fundamental subproblems including object feature representation, object proposal generation, context information modeling and training strategies; evaluation issues, specifically benchmark datasets, evaluation metrics, and state of the art performance. We finish by identifying promising directions for future research.
  • コメント
    • 作者は何を達成しようとしましたか?
    • アプローチの重要な要素は何ですか?
    • あなたは何を自分で使うことができますか?
    • 他に参考にしたいものはありますか?

"Object Detection in 20 Years: A Survey", Li Liu, et al.

  • paper
  • 要約
    • コンピュータビジョンにおける最も基本的かつ困難な問題の1つとして、物体検出は近年大きな注目を集めている。過去20年間におけるその発展は、コンピュータビジョンの歴史の代表と見なすことができます。今日の物体検出をディープラーニングの力のもとでの技術的美学と考えるならば、20年後に時計を振り返ってみると、冷戦時代の知恵を目の当たりにするでしょう。本稿では、(1990年代から2019年までの)四半世紀にわたる技術的進化を踏まえて、400以上の物体検出に関する論文を幅広くレビューしています。このホワイトペーパーでは、歴史上のマイルストーンの検出器、検出データセット、メトリックス、検出システムの基本的な構成要素、高速化手法、および最近の最先端の検出方法など、さまざまなトピックについて説明しています。
  • Abstract
    • Object detection, as of one the most fundamental and challenging problems in computer vision, has received great attention in recent years. Its development in the past two decades can be regarded as an epitome of computer vision history. If we think of today's object detection as a technical aesthetics under the power of deep learning, then turning back the clock 20 years we would witness the wisdom of cold weapon era. This paper extensively reviews 400+ papers of object detection in the light of its technical evolution, spanning over a quarter-century's time (from the 1990s to 2019). A number of topics have been covered in this paper, including the milestone detectors in history, detection datasets, metrics, fundamental building blocks of the detection system, speed up techniques, and the recent state of the art detection methods. This paper also reviews some important detection applications, such as pedestrian detection, face detection, text detection, etc, and makes an in-deep analysis of their challenges as well as technical improvements in recent years.
  • コメント
    • 作者は何を達成しようとしましたか?
    • アプローチの重要な要素は何ですか?
    • あなたは何を自分で使うことができますか?
    • 他に参考にしたいものはありますか?

"Spatial: A Language and Compiler for Application Accelerators", David Koeplinger, et al.

  • paper
  • video
  • github
  • 要約
    • 業界は、パフォーマンスやエネルギー効率を向上させるために、FPGAやCGRAのような再構成可能なアーキテクチャに注目しています。残念ながら、これらのアーキテクチャの採用は、プログラミングモデルによって制限されていました。 HDLには生産性の抽象度がなく、より高いレベルの言語からのターゲット設定が難しい。 HLSツールはより生産的ですが、パフォーマンス最適化を難しくするソフトウェアとハ​​ードウェアの抽象概念の特別な組み合わせを提供します。 この作業では、アプリケーションアクセラレータのより高いレベルの説明のために、Spatialという新しいドメイン固有の言語とコンパイラについて説明します。 プログラマの生産性と設計性能の両方について、Spatialのハードウェア中心の抽象化について説明し、コンパイラのパス パイプラインスケジューリング、自動メモリバンキング、アクティブマシン学習による自動設計チューニングなど、これらの抽象化をサポートするために必要なものです。 一般的なソースコードからFPGAやCGRAをターゲットとする言語の能力を実証します。 Amazon EC2 F1インスタンス上でザイリンクスUltraScale + VU9P FPGAをターゲットとする場合、Spatialで書かれたアプリケーションは平均して42%短縮され、SDAccel HLSよりも平均2.9倍速くなります。
    • Industry is increasingly turning to reconfigurable architectures like FPGAs and CGRAs for improved performance and energy efficiency. Unfortunately, adoption of these architectures has been limited by their programming models. HDLs lack abstractions for productivity and are difficult to target from higher level languages. HLS tools are more productive, but offer an ad-hoc mix of software and hardware abstractions which make performance optimizations difficult. In this work, we describe a new domain-specific language and compiler called Spatial for higher level descriptions of application accelerators. We describe Spatial’s hardwarecentric abstractions for both programmer productivity and design performance, and summarize the compiler passes required to support these abstractions, including pipeline scheduling, automatic memory banking, and automated design tuning driven by active machine learning. We demonstrate the language’s ability to target FPGAs and CGRAs from common source code. We show that applications written in Spatial are, on average, 42% shorter and achieve a mean speedup of 2.9× over SDAccel HLS when targeting a Xilinx UltraScale+ VU9P FPGA on an Amazon EC2 F1 instance.

"LeFlow: Enabling Flexible FPGA High-Level Synthesis of Tensorflow Deep Neural Networks", Daniel H. Noronha, et al.

  • paper
  • video
  • github
  • 要約
    • 最近の研究では、フィールド・プログラマブル・ゲート・アレイ(FPGA)が機械学習アプリケーションの高速化に重要な役割を果たすことが示されています。機械学習アプリケーションの初期仕様は、Tensorflowのような高水準のPython指向のフレームワークを使用して行われることが多く、ベンダーツールを使用して合成するためにCまたはRTLのいずれかに手動で変換されます。この手動の変換ステップは時間がかかり、この重要な領域でFPGAの適用性を制限する専門知識を必要とします。本稿では、Tensorflowで記述された数値計算モデルを合成可能なハードウェアにマップするオープンソースのツールフローを紹介します。少数の柔軟性のないテンプレートによって制約されることが多い他のツールとは異なり、Googleのフローでは、Tensorflow仕様から直接LLVMコードを発行するGoogleのXLAコンパイラが使用されています。このLLVMコードは、高水準の合成ツールと共に使用して、自動的にハードウェアを生成することができます。私たちの流れは、ユーザが非常に少数のPythonコード行でディープニューラルネットワークを生成できることを示しています。
    • Recent work has shown that Field-Programmable Gate Arrays (FPGAs) play an important role in the acceleration of Machine Learning applications. Initial specification of machine learning applications are often done using a high-level Python-oriented framework such as Tensorflow, followed by a manual translation to either C or RTL for synthesis using vendor tools. This manual translation step is time-consuming and requires expertise that limit the applicability of FPGAs in this important domain. In this paper, we present an open-source tool-flow that maps numerical computation models written in Tensorflow to synthesizable hardware. Unlike other tools, which are often constrained by a small number of inflexible templates, our flow uses Google's XLA compiler which emits LLVM code directly from a Tensorflow specification. This LLVM code can then be used with a high-level synthesis tool to automatically generate hardware. We show that our flow allows users to generate Deep Neural Networks with very few lines of Python code.

"Deep Clustering for Unsupervised Learning of Visual Features", Mathilde Caron, et al.

  • paper
  • 要約
    • クラスタリングは、コンピュータビジョンで広範に適用され、研究されている教師なし学習方法の一種です。 大規模なデータセット上の視覚的特徴のエンドツーエンドの訓練にそれを適応させるためのほとんどの作業は行われていない。 本研究では、ニューラルネットワークのパラメータとその結果得られる特徴のクラスタ割り当てを共同して学習するクラスタリング手法であるDeepClusterを提示する。 DeepClusterは標準クラスタリングアルゴリズムk-meansを使用してフィーチャを反復的にグループ化し、後続の割り当てを監視として使用してネットワークの重みを更新します。 DeepClusterは、ImageNetやYFCC100Mのような大規模なデータセット上の畳み込みニューラルネットワークの監督されていないトレーニングに適用されます。 得られたモデルは、現在の技術水準を、すべての標準的なベンチマークでかなりのマージンを上回って優れている。
    • Clustering is a class of unsupervised learning methods that has been extensively applied and studied in computer vision. Little work has been done to adapt it to the end-to-end training of visual features on large scale datasets. In this work, we present DeepCluster, a clustering method that jointly learns the parameters of a neural network and the cluster assignments of the resulting features. DeepCluster iteratively groups the features with a standard clustering algorithm, k-means, and uses the subsequent assignments as supervision to update the weights of the network. We apply DeepCluster to the unsupervised training of convolutional neural networks on large datasets like ImageNet and YFCC100M. The resulting model outperforms the current state of the art by a significant margin on all the standard benchmarks.