LSTM で正弦波を予測する

あゆたでデータサイエンティストとして働く佐々木です。 今回は LSTM を用いて正弦波の予測をしてみます。 正弦波のように明確な規則性のある時系列データは、LSTM で予測を行うのに向いているテーマだと言えます。そのため、LSTM の原理や実装を理解するための練習問題としては都合がいいんじゃないでしょうか。 LSTM とは ディープラーニングで時系列データの学習を行う際に有効なものとして、 ニューラルネットワークを時間方向に展開した RNN (Recurrent newral network) があります。 しかし、従来の RNN では勾配消失問題があり、長期間の時間依存性が保持されないという問題点がありました。LSTM は勾配消失問題を解決するために改良された...

Google Apps Script でファイルを保存してみる

どうも ASTRONEER を無線接続でやっているとたくさんあるバグが更に増え、我慢できず有線接続にした結果、家の端から端までLANケーブルをはわせることになった和田です。 最近、 Google Apps Script を触っています。 ご存じの方もいるかと思いますが「なんぞや」というのをざっくり説明しますと、 MSOffice に付属する VBA の、 Google Docs 版といった感じです。 MSOffice の VBA のように、定型化した作業や大量のデータを扱う場合などにとても便利に使えるすごいやつです。こんなのがウェブで使えるようになったなんてすごい時代だ。...

Tensorlow tutorial series 2: MNIST Experts

あゆた AI 担当の佐々木です。 前回の MNIST ビギナーズ編に続き、今回はその続編であるエキスパート編の解説をしていきます。 このチュートリアルは前後半の2部構成になっているのですが、前半はほぼビギナー編のおさらいなので割愛します。 また、この記事では機械学習の原理的な説明は省略し、チュートリアルをコードとして理解できるようになるということに焦点を当てて解説していきます。なので、なぜこのようなコードになっているのか?という部分を主に解説していきます。 原理的なところのアカデミックな話は、後日別の記事でできればなと思います。 さて、ビギナー編で作ったシンプルなネットワークでは精度が92%でした。 精度をより一層高めるため、画像認識の分野で定番の CNN (Convolutional Neural...

Tensorflow tutorial series 1: MNIST for ML beginners

こんにちは! あゆたで AI を担当をしているデータサイエンティストの佐々木です。 業務で Tensorflow を扱っているので、今日はその使い方を解説しようと思います。 ということで今回は公式チュートリアルのMNIST For ML Beginnersを解説していきます。 MNIST は手書き文字分類を行うタスクのことで、0 〜 9 までの手書き文字の画像を入力し、書いてある数字を判別させるものです。 MNIST は機械学習の Hallo World と呼ばれるほど定番のもので、ネットワークの構造などはとてもシンプルなものになりますが、その分短いコードの中に重要なエッセンスが凝縮されています。そのため、...

Debian の apt/apt-get/aptitude について

和田です。最近は PC で ASTRONEER をやっています。惑星開拓楽しいです。 さて本日の話題ですが、 Debian 系の OS を使っていると知らず知らずのうちにお世話になっているはずの apt/apt-get/aptitude についてです。 これらはすべて Debian 系 OS のパッケージを管理するためのツールです。Red Hat Enterprise Linux 系で言うところの...

SwiftでFrameworkを作成する

こんにちは、大塚です。 Frameworkについて 少し前になりますが、swiftでライブラリを作成する必要があったので調べてみました。 ~Xcode5以前~ Cocoa Touch Static Library Objective-Cのみ ビルド時に静的にリンクされる、いわゆる普通のライブラリ 画像やnibファイルなどのリソースを含めることはできない ~Xcode6以降~ Cocoa Touch Framework Swiftが使える 導入が簡単なり、ビルドスクリプトなどが不要に 画像やstoryboardなどのリソースを含むことができる App Extensionsなど複数プロセスから共有可能 ビルドが速くなる 実体はディレクトリらしい...

MySQLのチューニングについて

こんにちわ! 初登校の池田です。 今日は私が以前使っていたDBのMySQLについての記事になります。 MySQLのSELECT時にORDER BYを使用した時のソートの話 テーブルにINDEXが貼られている事が前提ですが、 例えば3テーブルを結合し、ソートをかける時などに、 全てのテーブルの結合を行った後にマスターとなるテーブルで並び替えると、 Using filesortが発生し、SELECTの実行が遅くなる場合があります。 回避方法として、カラムの表示用のマスターテーブルと、ソート用に使うマスターテーブル(別名付け)を用意し 用途を分けたSELECT文にするなどがあります。 sample.sql SELECT   tbl1.col1,   tbl2.col2,...

fishシェルを使ってみませんか?

和田です。 「趣味はゲーム」と答えていますが、実はそんなにプレイできていないのでそれでいいのか感があります。 ただ最近は夜な夜なオーストラリアへ車で駆り出してフェスを運営しております。 開発者の方は使用頻度の多少はあれどシェルに触れる機会があるはずです。 本日は「fish」シェルについて紹介したいと思います。 「シェルなんてそんなに触らないな」な方から「バリバリカスタマイズしております」な方までおすすめできるシェルです。むしろあまり触らない方におすすめできるかも。 何がそんなにいいの? 超ざっくり説明すると 軽い キレイ 設定かんたん 補完つよい です。 注意点としてはbash/zshと互換性がないため、ちょっと面倒くさい場面があります。 意味分からんって方が大多数だと思いますが、順に説明していきます。...

BLEを使った近距離測位

こんにちは、大塚です。 今回は、以前社内の勉強会で発表したBLEを使った距離の測定について紹介してみたいと思います。 BLEとは まず最初に、BLEとはBluetooth Low Energyの略です。 Bluetooth4.0で新たに追加された規格で、以前の3.0(Classic)とは互換性がありません。(同居は可能) BLEの最大の特徴が、低電力であることです。 従来型に比べて60%以上も消費電力を削減しており、ボタン電池1つでも数年持つことが可能です。昨今のIoTブームの下支えとなっている技術でもあります。 さて、このBLEを使って従来のように通信を行うことも勿論できますが、今回はBeaconと呼ばれる領域観測サービスを利用して、対象デバイスとの距離を測定してみたいと思います。...

iOSでジオフェンスに触れる②

こんにちは増島です! 引き続きジオフェンスについての話をしていきます。 前回の記事はこちらになります。 https://intheweb.io/geofence-ios/ 今回のテーマはXcodeでジオフェンスの動作確認になります。 アプリをデバッグ実行し、Xcodeで位置情報をシミュレートすることによって端末の位置を擬似的に変えることができます。 それでは見ていきましょう。 今回作成したサンプルはこちらに置いてあります。 https://github.com/shushutochako/geofence-sample-swift サンプルの機能 日比谷公園あたりに半径500mで領域を作る 端末が領域内に入ったらラベルで表示 端末が領域内から出たらラベルで表示 シミュレーション内容 東京駅から新橋駅まで車で移動するようなシミュレーションをする この流れで、日比谷公園あたりに作った領域のエリアに入った時と出た時で、ちゃんとラベルに表示されるかを確認します。...