Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに NTT データ数理システムでアルゴリズムの探求をしている大槻 (通称、けんちょん) です。最近のマイブームなアルゴリズムは NTT (Number-Theoretic Transform) です。 NTT は FFT (高速フーリエ変換) の亜種です。日本語では高速剰余変換と呼ばれることが多いです。FFT ではどうしても登場しがちな「計算途中での丸め誤差」を回避するテクニックとして有効です。NTT を実運用する際には以下のような楽しい初等整数論的トピックたちを使用することになってすごく面白いです。 ${\rm mod}. p$
カルマンフィルターは、逐次ベイズフィルターの一種であり、測定データからシステムの状態を推定するアルゴリズムです。これは、ハンガリーのエンジニアであるルドルフ・カルマン(Rudolf Kalman)によって提唱されました。このカルマンフィルターはNASAのアポロ計画で使われたことで有名で、アポロを月へ導いた数式とも言えます。アポロ計画では、センサーの情報から宇宙船の正しい位置を推定し、進行方向の調整などを行う際に使用されました。 現在、カルマンフィルターにはいくつかのバリエーションがあり、これらのフィルターは、コンピュータービジョン、誘導・航法システム、バッテリー充放電状態、計量経済学、および信号処理などの、推定に依存するアプリケーションで広く使用されています。 フィルターとは フィルターという言葉を聞くと、信号処理のノイズ除去等を思い浮かべる方が多いと思いますが、ここでいうフィルターとは、
リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit
(編注:2020/10/01、2016/07/29、いただいたフィードバックをもとに記事を修正いたしました。) 目次: さまざまな勾配降下法 バッチ勾配降下法 確率的勾配降下法 ミニバッチ勾配降下法 課題 勾配降下法を最適化するアルゴリズム Momentum(慣性) Nesterovの加速勾配降下法 Adagrad Adadelta RMSprop Adam アルゴリズムの可視化 どのオプティマイザを選ぶべき? SGDの並列化と分散化 Hogwild! Downpour SGD SGDのための遅延耐性アルゴリズム TensorFlow Elastic Averaging SGD 最適化されたSGDに対する更なる戦略 シャッフル学習とカリキュラム学習 バッチ正規化 早期終了 勾配ノイズ 結論 参考文献 勾配降下法は、最適化のための最も知られたアルゴリズムの1つです。これまではニューラルネット
ブースティングはアンサンブル学習の一つです。アンサンブル学習では、性能の低い学習器を組み合わせて、高性能な学習器を作ります。教師あり機械学習の問題設定の復習から始めて、バギングやブースティングのアルゴリズムについて解説します。 レトリバセミナーで話したときの動画はこちらです: https://www.youtube.com/watch?v=SJtdG62691g
最適輸送問題(Wasserstein 距離)を解く方法についてのさまざまなアプローチ・アルゴリズムを紹介します。 線形計画を使った定式化の基礎からはじめて、以下の五つのアルゴリズムを紹介します。 1. ネットワークシンプレックス法 2. ハンガリアン法 3. Sinkhorn アルゴリズム 4. ニューラルネットワークによる推定 5. スライス法 このスライドは第三回 0x-seminar https://sites.google.com/view/uda-0x-seminar/home/0x03 で使用したものです。自己完結するよう心がけたのでセミナーに参加していない人にも役立つスライドになっています。 『最適輸送の理論とアルゴリズム』好評発売中! https://www.amazon.co.jp/dp/4065305144 Speakerdeck にもアップロードしました: https
基礎的な点群処理から、ICPアルゴリズム、PointNetまでをPythonで学ぼう!Open3Dを使用。最後に、点群以外のデータ形式の3次元データ処理も扱う。サンプルコードをサポートページから提供したので、すぐに実践できる! 目次 第1章 はじめに 1.1 3次元世界について 1.2 本書について 1.3 3次元計測原理 1.4 3次元センサの紹介 章末問題 第2章 点群処理の基礎 2.1 ファイル入出力 2.2 描画 2.3 回転・並進・スケール変換 2.4 サンプリング 2.5 法線推定 章末問題 第3章 特徴点・特徴量の抽出 3.1 特徴点(キーポイント) 3.2 大域特徴量 3.3 局所特徴量 章末問題 第4章 点群レジストレーション(位置合わせ) 4.1 最近傍点の探索(単純な方法) 4.2 最近傍点の探索(kd-treeによる方法) 4.3 ICPアルゴリズム 4.4 ICP
データ分析LT会第二回で発表した際の資料です。 youtube: https://www.youtube.com/watch?v=jDZwX3jxhK4 conppass url: https://kaggle-friends.connpass.com/event/214854/ gi…
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesisは2020年を代表する深層学習関連の論文の一本であることは間違いないでしょう。もう2022年も2月に差し掛かっていますが、いまさらながら、NeRFの論文を読んだので、初見の際にわかりづらかったところを解説してみます。 NeRFでできること NeRFは、100枚程度の画像データから、そのシーンの三次元形状を復元し、新しい視点からの画像を生成します。以下の動画を再生していただければわかるように、かなり自然な新視点画像生成が行えます。学習に使うのは画像だけなので、写真を撮るだけで現実のシーンにも適用できます。 NeRFには以下のような制約があります。 シーンは静的でなければならない 何らかの手法を使って各画像の外部カメラパラメーターを求めておかなければならな
転置インデックスは、検索エンジンの実装において、中心的な役割を果たすデータ構造である。 転置インデックスのデータ構造とアルゴリズムは、クエリ処理アルゴリズムとともに、検索エンジンの性能に直結する。とくに大規模な検索エンジンにおいては、キャッシュ効率を高めてクエリ処理を高速化するために、転置インデックスの圧縮は必要不可欠となっている。 この記事では、転置インデックス、とくにポスティングリストの圧縮について、近年の手法を簡単にまとめる。 目次 転置インデックスの基本 転置インデックスのデータ構造と特性 転置インデックスのアクセスパターン 近年のインデックス圧縮技法 Variable-Byte Family VByte Varint-GB Varint-G8IU Masked-VByte Stream-VByte Opt-VByte Simple Family Simple9 Simple16
Haskellは関数型プログラミング言語と呼ばれますが、関数だけでなく型も重要な役割を担っています。アルゴリズムを考える時、手続きの最適化だけでなく、正しいデータ型を選択することがシンプルなアルゴリズムを導き、実装をコンパクトにできるというのはよくある話です。今回は非常に単純な型でありながら幅優先探索というアルゴリズムのエッセンスを詰め込んだ Levelsというデータ型 について紹介したいと思います。 ピタゴラス数を列挙する ピタゴラス数とはピタゴラスの定理における関係式 a^2 + b^2 = c^2 を満たす自然数の三つ組です。 Haskellのリストは遅延評価なので 全ての自然数の三つ組を列挙する 列挙した自然数の中から関係式を満たすものだけ抽出する という手順でピタゴラス数を列挙することを考えてみましょう。 実際この方法は有限な探索範囲ではうまく機能します。 pyth :: [(I
こんにちは。 ティアフォーで自動運転ソフトウェア開発を行っている村上です。 今回はDeep Learningを使った三次元物体認識の手法を紹介していきます。 TL;DR: 12msで動作する三次元物体認識アルゴリズムの開発 自動運転におけるDeep Learning 点群を処理するためのDeep Learning ざっと従来手法 従来手法での問題 形状推定の必要性 Deep Learningで可能なこと 三次元物体認識アルゴリズム「PointPillars」の紹介 ざっと類似手法 なぜ「PointPillars」 CUDAとTensorRTによる高速化 最後に 自動運転におけるDeep Learning 自動運転では主に周りの環境を認識する際にDeep Learningを用いることが多いです。画像認識アルゴリズムであるSSD*1やYOLO*2が有名なものになります。 Deep Learni
Estimation of distribution algorithm. For each iteration i, a random draw is performed for a population P in a distribution PDu. The distribution parameters PDe are then estimated using the selected points PS. The illustrated example optimizes a continuous objective function f(X) with a unique optimum O. The sampling (following a normal distribution N) concentrates around the optimum as one goes a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く