orizuru

つながる.見える.わかる IoTソリュ-ション

main_contents

更新情報

製造現場向けIoTソリューション

自社のIoTシステムを利用した製造業向けソリューション「Orizuru」は、工場内の各種設備からデータを収集するゲートウェイの提供、収集したデータ処理をするシステムを備えるトータルソリューションになります。

IoTソリューション全体像

  • 設備のデータ収集
  • 設備の制御
  • クラウドシステムとのデータ送受信
  • リアルタイム通信
  • 表示データの生成
  • 集められたデータの統計処理と機械学習
  • システムの処理結果を表示する
  • 設備の状態を表示する
  • 設備をコントロールする
  • ユーザー間のコミュニケーション
  • 3Dデータの各種表示
  • 3Dデータの360°ビュー

IoTソリューションの特徴

製造現場との双方向コミュニケーション
製造工場の現場担当者とサポート担当者とのコミュニケーションを、製造現場の映像やデータを画面で共有することで円滑なコミュニケーションを可能にします。今後の機能追加でビデオ通話など、双方向コミュニケーション機能が充実していきます。
リアルタイムデータの見える化
工作機器の温度や音圧、振動、電流値などのセンサーを3Dで確認しつつ、それらのデータをリアルタイムにグラフで表示するなど、機器の状態を把握するのに役立つ機能です。
CNCを扱えるGateway
NCプログラミングを扱えるGatewayの開発と提供を行えます。これによりメーカーを問わず、工作機器のデータ取得が可能になりますので、IoT促進の一躍を担っています。
WebGLを応用し、異常箇所を3DCADで特定
WebGL技術を応用し、工作機器のCADデータと各センサーの3D座標を設定することで、Webブラウザ上で様々な角度から工作機器を3Dで見ることができるので、異常があるセンサーの位置を特定し、アラートを表示することが可能です。
全国の工場内設備をカメラでモニタリング
各工場の機器や生産ラインにカメラを設置することで、全国の工場内設備をモニタリングできます。モニタリングできることで、工場内の状況把握を瞬時に行えます。
Webブラウザからの設備の制御が可能
異常などが発生した場合、webブラウザから設備の制御が可能です。稼働中設備の停止・再稼働などの制御からNCプログラムの送信が可能となります。

IoTソリューション紹介動画

IoTのお悩み解決

 お客様からIoTに関する様々なお悩みをご相談いただいております。IoTの導入に関することやデータの取得方法、取得したデータの活用方法や見える化など多岐にわたります。このようなお悩みごとに対して弊社としてもなんとか解決したく、日々ご提案をしています。こちらでは、その内容の一部をご紹介します。

パートナー

三菱電機のe-F@ctoryパートナー

e-F@ctory Allianceとは、弊社FA機器との接続親和性の良いソフトウェア・機器を提供するパートナーとそれらを活用しシステムを構築するシステムインテグレーションパートナーとの強力な連携により、お客様に最適なソリューションを提供するためのFAパートナープログラムです。

  • e-F@ctory Allianceの詳細は、こちら をご覧ください。

e-F@ctory Alliance

Aras社の公認パートナー

Aras Innovator®は米国Aras社が開発・提供している、ライセンスフリーのエンタープライズPLM(Production Lifecycle Management)ソリューションです。製品の企画・設計から生産・保守までの製品ライフサイクル全体の管理が行えます。

  • Aras Innovatorの詳細は、Aras PLMソフトウェア をご覧ください。
  • Aras®およびAras Innovator®は、Aras Corporationの登録商標または商標です。

Aras AUTHORIZED Partner 2017

「Japan IT Week 春」に出展(2018.05.9〜11:東京ビッグサイト)

「Japan IT Week 春」に出展
みなさん、こんにちは。アートディレクターのhayatoです。
桜の季節があっという間に終わり、木々の緑が萌黄色や鮮緑に変わり、過ごしやすい季節となりました。
また、GWでは、国内外で旅行したり、趣味を楽しんだりとリフレッシュした方も多かったのではないでしょうか。

IoTソリューション「Orizuru」を展示

さて、先週の5/9(水)〜11(金)に東京ビッグサイトで開催された「Japan IT Week 春」にコアコンセプト・テクノロジーとして出展いたしました。
「Japan IT Week 春」に出展

今回は「IoT」「AI」「RPA」などのキーワードで会社全体としてコンテンツを展示。
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展

コアコンセプト・テクノロジーの事業内容を紹介。
「Japan IT Week 春」に出展

会社全体での展示会なので、対応メンバーも多数。
笑顔でお客様のご要望をお聞きし、様々なソリューションをご提案させていただきました。
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展

集合写真をパシャリ。
「Japan IT Week 春」に出展

ARによる新しい「見える化」の提案

卓上旋盤VISAIに取り付けている温度センサーを、ARを使ってヒートマップで表示。

「Japan IT Week 春」に出展

AI・ARの事例紹介

2時間おきにOrizuruの紹介とともにAI・ARの事例を紹介。
セミナーは毎回大勢のお客様にご紹介させていただきました。
「Japan IT Week 春」に出展
「Japan IT Week 春」に出展

展示会出展を振り返って

3日間という短い期間でしたが、とても多くのお客様に弊社ソリューションをご紹介することができました。
前回出展した「スマート工場EXPO(SFE)」よりも、お客様からの引き合いが多く
おかげさまで大盛況で終えることができました。

3日間を終えて、最後は打ち上げで盛り上がりました ^^
「Japan IT Week 春」に出展

次回は6月の設計製造ソリューション展(DMS)に出展いたします。
こちらにもぜひ、お越しいただけますと嬉しいです。

また、弊社にご興味がある方はこちらからご連絡いただければと思います。
それでは、次回もお楽しみに。
hayato

Dropout

はじめに

 dropoutを持つネットワークを用いると、Bayes推論のように「不確実さ(uncertainty)」を評価できることを示す。

Bayes推論

 最初に、「不確実さ」まで評価できる手法であるBayes推論の概要を、回帰問題を例に取りまとめる。

 いま、X=\{x_1,\cdots,x_N\},Y=\{y_1,\cdots,y_N\}が観測されているとする。x_iが説明変数、y_iが目的変数である。このとき、潜在変数wを導入し、同時確率分布p(X,Y,w)を考える。この分布にBayesの定理を適用すると次式を得る。

(1)    \begin{equation*} p(w|X,Y) = \frac{p(Y|X,w)p(w)}{p(Y|X)} \end{equation*}

ただし、式変形の途中で、p(X)=p(X|w)を用いた。Xは潜在変数に依存しない観測値である。式(1)の左辺にあるp(w|X,Y)を事後分布、右辺の分子にあるp(Y|X,w)を尤度、p(w)を事前分布、右辺分母にあるp(Y|X)をモデルエビデンスと呼ぶ。事後分布p(w|X,Y)を求めることができれば、次式により、未観測の説明変数x_*が与えられた時の目的変数y_*の条件付き確率分布を求めることができる。

(2)    \begin{equation*} p(y_*|x_*,X,Y)=\int dw\;p(y_*|x_*,w)p(w|X,Y)  \end{equation*}

下図は式(2)を用いて予測を行った具体例である(このグラフの導出は次回行う)。

橙色の実線がGround Truthとなる曲線、青丸が適当にサンプルした観測値(10個)、破線が予測曲線である。色ぬりした領域が標準偏差の大きさ、すなわち予測値の不確実さを表す。この図から分かる通り、観測値近傍の標準偏差は小さく、観測値が存在しない領域の標準偏差は大きくなる。Bayes推論の優れた点は、各予測値を点として求めるだけでなく、その確からしさも定量的に導出することができることである。式(2)を計算するためには、事後分布p(w|X,Y)を求める必要がある。Bayes推論の目的はこの事後分布を解析的あるいは近似的に求めることである。

 次に掲げる文献は、Bayes推論をdropoutを持つネットワークで再現できることを示したものである。

「原論文」は博士論文なので長大であり、簡単に読めるものではない。「原論文著者による解説」には、dropoutを持つネットワークから不確実さを計算する手順が簡潔にまとめられている。また、「原論文」の大凡の理屈は日本語解説により理解することができる。一言で言うと、Bayes推論で使われる変分推論を用いると、ある最小化すべき式を得る。この式が、dropoutを含むネットワークの損失関数と等価になるというものである。dropoutで考慮される確率的要素が、変分推論で最小化すべき式とネットワークの損失関数とを結びつけている。

計算手順

 回帰問題をニューラルネットワークを用いて考え、上の解説を参照して実際に不確実さを求める。手順は以下の通りである。

  1. 適当な層を持つネットワークを作る。その際、dropoutとL2正則化項を取り入れておく。
  2. 通常通り訓練を行い、訓練済みモデルを作る。
  3. dropoutの効果をオンにしたまま予測を行う。通常なら予測時はこの効果はオフにするが、ここではオンにしたまま計算する。
  4. 予測を複数回行い、その平均値\muと分散\sigma_0^2を計算する。
  5. 次式を計算する。

    (3)    \begin{eqnarray*} \sigma^2&=&\sigma^2_0+\frac{1}{\tau} \\ \tau&=&\frac{l^2(1-p_{{\rm dropout}})}{2N\lambda} \end{eqnarray*}

    ここで、lはlength scaleと著者らが呼んでいる量、p_{{\rm dropout}}はユニットを0にする確率、Nは観測値の数、\lambdaは正則化項につける係数である。\sigma^2が求めたい分散(不確実さ)である。

コードの場所

 今回のコードはここにある。いつものようにChainerを用いた。

ネットワークの構造

 今回のネットワークの構造を示す(train.py)。

4層のネットワークである。それぞれの層にdropoutを適用していることに注意する。L2正則化項は以下で取り入れることができる(train.py)。

実験

 Ground Truthとなる曲線としてガウス関数を2つ重ねたものを使用した。観測値の個数N=20p_{{\rm dropout}}=0.05\lambda=0.00001である。lはGround Truthの曲線の変化を捉える程度の長さで良いようなので10とした。以下に計算結果を示す。予測は100回行い、平均値\muと分散\sigma^2の計算を行った。

実線がGround Truthの曲線、青丸が観測値(20個)、点線が平均値\mu、色ぬりが標準偏差\sigmaである。Bayes推論の説明時に示したグラフと同様に、観測値が存在しない領域の標準偏差が大きくなっていることが分かる。

まとめ

 Bayes推論では確率分布を求めることが目的なので、自動的に予測値の確からしさを知ることができる。一方、深層学習が予測する値は「点」であり、その確からしさは評価されない。今回紹介した文献は、ほとんどの深層学習に使われているdropoutを利用することで、点推定を与える深層学習から不確かさを導出できることを示している。大変興味深い研究である。

補足

 本稿を含め、これから数回に渡ってBayes推論に関わる話題を取り上げる予定である。今回は初回なのでBayes主義による確率の考え方について解説しておく。
 ある理論物理学者がAという新しい理論を発表した。この理論が正しい確率をP(A)とおく。後日、実験X_1が行われた。この実験を受けて理論Aが正しい確率はP(A|X_1)に更新される。P(A)は事前確率、P(A|X_1)は事後確率である。実験が繰り返されるごとにAが正しい確率は更新されていく(P(A|X_1,X_2,\cdots))。このように新しい事実・証拠を受け入れることにより、事前確率(事前知識)の確からしさ(確率)を更新していく考え方をBayes主義と呼ぶ。ところで、確率には別の捉え方もある。長期間に渡って事象Aが起きた回数(ここの例で言えば理論Aが正しかった回数)を実際に数える立場である。これを頻度主義と呼ぶ。Bayes主義の場合、最初の確率P(A)はその学者の主観あるいは信念(belief)である。この信念が実験を繰り返すごとに客観的事実として認知されていくことになる。最初の頃はその理論の不確かさは大きかったが、徐々に不確かさが小さくなっていく。一方、頻度主義の場合は、最初から客観的事実として確率を捉えようとする。これら2つの考え方は相容れないものではない。Bayes主義的な確率は事実・証拠の数が増えるにつれて、頻度主義による確率に漸近していく。
 最初は信念であるが、事実・証拠が得られたら、信念を更新していく。更新が繰り返されるごとにその信念は、客観的事実に近づいていく。これがBayes主義の立場である。

PandasをDaskで簡単に並列処理して高速化しよう

こんにちは、エンジニアのtetsuです。

Pandasでデータを処理しているときに、ここを並列計算させたら早くなりそうなんだけどなぁ、と思うことはありませんか?もしかしたら、Daskを使うことで望みの並列計算がおこなえるかもしれません。今回はDaskでのPandasのapplyの並列化の例を示していきます。

Daskとは?

Daskとは並列計算やOut-Of-Coreの処理が簡単にできるpythonのライブラリです。NumPyやPandasのデータを扱うことができますが、Dask内ではこれらのデータを分割して処理をおこなうことで、並列化を実現しています。

インストールは簡単で、pipで次のようにおこなえます。Anacondaにはデフォルトで入っているので、Anacondaを利用している場合にはインストールは不要です。

Daskによるapplyの並列化

以下ではapply関数によるPandasのDataFrameの行ごとの処理を、Daskにより高速化する例を示します。
まず以下にPandasでのapplyの適用例を示します。

上記のコードを実行すれば、applyによって一行ずつxの列とyの列の和が計算されていきます。実際には、この和の計算にはapplyを使う必要は全くありませんが、簡単のためにこのような関数にしています。これらの計算は1プロセスでおこなわれます。これに対し、Daskを用いて2プロセスで並列計算をおこなう例が次のコードになります。

dd.from_pandasではPandasのDataFrameを受け取り、npartitionsに指定された数にDataFrameを分割します。計算機のコア数が許す限りは、この分割数で並列計算がされます。その次の行のddf.applyがDask用のapplyになっていますが、computeが実行されるまでは計算はおこなわれない仕組みになっています。また、computeの引数で与えているgetにはどういうスケジューラで処理をおこなうかを指定します。このケースではマルチプロセスで実行するように指定しています。

計算時間の比較

分割数を1~4として計算をおこなったときの各計算時間を以下に示します。ただし、分割数が1のときはDaskではなく、Pandasを用いた場合の計算時間になります。また、使用した計算機には4コア搭載されています。
semantic_label
分割数を増やすことによって、ある程度きれいに計算時間がスケールしていることが確認できます。

終わりに

今回はDaskを用いた並列計算の例を示しました。非常に簡単に扱えるため、ぜひ活用していきたいですね。

【C#】Listのソート速度比較

お久しぶりです、エンジニアのMasashiです。

今回はListの中身をソートする際の速度について検証を行ってみます。
Sort関数を使用する、Linqを使う、Compare関数を拡張する等々
ソートの行い方は様々ありますが、今回は単純な数値の入ったデータをSort関数とLinqを使った方法で検証してみたいと思います。
また、昇順だけでなく降順の並び替えも実施して速度に違いが出るか検証しています。
ListやArrayの降順に並び替える方法としてはよくない方法で並び替えていますが、
今回は純粋なソートの速度差を見るだけですので、テストコードの実装で検証しています。

測定までの流れ

今回測定を行うのは、Listに格納されている乱数を昇順・降順に並び替えるまでにかかった時間になっています。
比較対象として配列のソート、Listのソート、ListをLinqでソートの3つで速度を検証しています。

測定環境

  • Visual Studio 2015

対象データ

  • データ数:1,000,000
  • Listの中身:0~100,000までの乱数

測定対象

  • 配列をArray.Sortを使用して昇順にソート
  • ListをList.Sortを使用して昇順にソート
  • ListをLinqを使用して昇順にソート
  • 配列をArray.Sort・Array.Reverseを使用して降順にソート
  • ListをList.Sort・List.Reverseを使用して降順にソート
  • ListをLinqを使用して降順にソート

テストコード

Listの測定結果

10回試行した結果の平均値が下記になっています。小数点以下は四捨五入しています。

ここをタップして表示Close
計測項目 計測時間(ms)
配列をArray.Sortを使用して昇順にソート 108
ListをList.Sortを使用して昇順にソート 109
ListをLinqを使用して昇順にソート 533
配列をArray.Sort・Array.Reverseを使用して降順にソート 113
ListをList.Sort・List.Reverseを使用して降順にソート 107
ListをLinqを使用して降順にソート 540

上記の結果を比較してみるとLinqが遅く、それ以外はあまり結果が変わらない形になりました。
Linqを使ったものは速度が圧倒的に遅くなっていますが、これはLinqの内容を評価させるためにtoListをおこなっているため、
List化するのに時間がかかっており、ソート自体の速度にはそこまで速度差がない可能性があります。
昇順・降順単位で結果を見てみるとListの降順が昇順より速くなっていますが、これは測定誤差であると考えられます。
実際は配列の昇順・降順の結果のように降順にReverse関数が入っている分処理が遅くなると考えられます。

まとめ

ソートの速度比較という面では、Linq以外にはあまり違いがみられませんでした。
単純なデータのソートであれば、特に意識することなくSort関数を使用して問題ないかと思います。
Linqのソートを使用するのは、Listの中身がObjectである際のソートやソート順番を詳細に指定したい場合に使用する形がベストだと思います。
今回はC#のListをソートする方法としてSort関数とLinqでソートする方法を行ってみました。
この記事が少しでも皆さんのお役に立てば幸いです。

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
こんにちは、アートディレクターのhayatoです。
東京では花粉も収束に向かい、花粉症の私としてはやっと過ごしやすい季節になります。
今回は弊社で「【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2」を実施しましたので、その様子をご紹介いたします。

開催概要

開催日時 2018年4月13日(金)19:00~21:00
開催場所 株式会社コアコンセプト・テクノロジー カフェスペース
概要 弊社ではIoTやAIソリューションの提供や各種コンサルティング、IT開発の受託案件などを行っております。 その中で、IoTやAI関連の開発を進めている技術者やメンバーにその技術話や開発体験談、顧客の抱える課題など、 お酒を交えながらの少し濃い目の内容のLTを行います。
対象
  • IoTやAIエンジニアに興味がある方
  • IoTやAIなどの居心地の良いコミュニティを探している方
  • IoTやAIに関わっていて、実用的な情報を欲している方
  • IoTやAIソリューション開発に興味がある方

発表内容

ここをタップして表示Close
担当者 発表タイトル 発表概要
セールスマネジャー IoT導入のお客様要望とその事例(データ取得編) 【データを取得】IoT導入を検討されているお客様の多種多様な要望について紹介をしていきます。様々なデータがある中でどのようなデータの取得が求められており、そのデータをいかにして価値として活用していくのか。お客様とのやり取りの中で感じられた部分なども紹介していきますのでIoTを導入するお客様のリアルが感じられるはずです。
センシング サイエンティスト 温度を測りたいと思った時、検討しなければならないこと 【データを取得】IoT化しようとしたとき、真っ先に導入を考えるのが温度センサです。でも、ちゃんと考えないといけないことがたくさんあるのです。ここでは、過去の失敗談を踏まえながら、温度センサ導入時のキーポイントをお伝えします。
サーバーサイドエンジニア データをどこに溜めよう?ローカル?クラウド?どのデータベース? 【データを溜める】設備やセンサーから取得したデータをどこに溜めていけば使いやすいのか?分析や可視化などの目的、コスト、パフォーマンスを意識したデータの溜め方をご紹介します。
AIエンジニア 密度比推定による時系列データの異常検知 【データを使う】確率密度の比を直接推定する密度比推定は幅広く応用がされていますが、応用先の1つである時系列データの異常検知についてご紹介します。
CTO IoTで成果を出す IoTで成果を出すにはどのようにすれば良いか、具体例と共に解説します。

イベントの様子

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
今回のお菓子と飲み物。
飲み物は缶ビール(アサヒとキリン)から酎ハイ、ウメッシュ、ハイボール、ほろよい、日本酒、ワイン焼酎など。
また、食べ物は菓子数種類、カルパスなど。
これらを準備してお客様の来場を待つスタッフ。

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
今回もモデレーターとして経営企画の池田が担当。
前回同様イベント開始前からぞくぞくと来られる参加者一人ひとりとコミュニケーションをとり、場を温めておくプロフェッショナル。
早速「乾杯」をしてイベントスタート!

IoT導入のお客様要望とその事例(データ取得編)

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
早速一人目はセールスマネージャーの脇坂氏。
弊社では珍しい営業マンの一人。とても貴重な人材です。

全国各地に飛び回り、お客様の課題を集約しているので
お客様の要望を誰よりも把握しています。
今回は、IoT導入する際の課題について発表してもらいました。

温度を測りたいと思った時、検討しなければならないこと

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
二人目はセンシング・サイエンティストの坂本氏。
初めて聞く肩書だなと思った方も多いかと思いますが、実は彼が考えた肩書です。
まずは自身のミッションを説明してからの本題。

今回はセンサ選定のポイントと熱電対の説明をしてもらいました。
熱電対をつける接着剤も色々と種類があり、私自身も勉強になりました。

データをどこに溜めよう?
ローカル?クラウド?どのデータベース?

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
三人目はチーフエンジニアの石原氏。
サーバー側から画面側までこなすスーパーエンジニアです。
今回も前回に引き続き、サーバー側のお話をしてもらいました。

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
サーバーの話になると、非常に詳しいお客様が多く、今回は発表中にご質問いただき、丁寧に回答させていただきました。
サーバーの種類の質問でしたが、私は初めて聞く単語でした 汗

密度比推定による時系列データの異常検知

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
四人目はAIエンジニアの長谷川氏。
前回はディープラーニングを使った時系列データの異常検知の手法をご紹介しましたが、
今回は密度比推定によるものを紹介。

スライドにもありますが、人間の目では分かりにくい波形も、
この密度比推定を使った手法だと異常を検知することが可能です。

IoTで成果を出す

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
最後はCTOの田口氏。
今回も発表ネタはお楽しみとなっておりましたが、
タイトルは「IoTで成果を出す」。

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
「IoTで何かやらないといけない」「IoTを導入してみたが、
IoTの効果を期待できない」などのお客様の声に対して、どのように解決すればよいかを説明しました。

発表も終わり、懇親会へ

弊社でイベントを実施しました:【寿司懇親会付き】製造現場で使えるIoTとAI技術 #2
2回目の乾杯で早速お寿司の登場!
前回は寿司の写真を撮り忘れたので、今回はしっかりとパシャリ!
お寿司におつまみ、お酒と一緒にご参加いただいたお客様と楽しく交流させていただきました。

IoTに関わっている方や、会社の経営者、大手企業の方からベンチャー企業のエンジニアまで
幅広いお客様にご参加いただけて、企画者としては本当にありがたいです。
交流会は楽しすぎて、私は飲みすぎてしまいました。。。

次回は?

今回は2回目ということもあり、企画も前回に比べてバージョンアップしたかなと思います。
非常に多くのみなさまにご参加いただき、あるお客様からは「このイベント人気ですよね」というお褒めをいただけました。

次回は7月頃を予定しております。
お客様のご期待に応えられるように次回もしっかりと企画していきたいと思います。
また、一緒にイベントを開催してくださる企業さまも募集します。
ぜひ、ご興味があるかたはこちらからご連絡お願いいたします。

それでは、次回もお楽しみに。
hayato