(57)【要約】      （修正有）【課題】ニューラルネットワークを利用して異常セッションを感知する方法を提供する。【解決手段】セッションの異常可否を感知する方法において、セッションに含まれたメッセージのうち少なくとも一部を行列形態のデータに変換する段階、コンボリューショナルニューラルネットワークを利用して行列形態のデータを行列よりも小さい次元の表現ベクトルに変換する段階およびメッセージから獲得された表現ベクトルをメッセージの発生順に沿って羅列することによって第１表現ベクトルシーケンスを構成し、ＬＳＴＭニューラルネットワークを利用して第１表現ベクトルシーケンスを分析することによって、セッションの異常可否を判断する段階を含む。【選択図】図２
2019061647.tif 000002
【特許請求の範囲】
【請求項１】
サーバーがクライアントから受信する要請メッセージと、前記サーバーが生成する応答メッセージを含むセッションの異常可否を感知する方法において、
前記セッションに含まれたメッセージのうち少なくとも一部を行列形態のデータに変換する段階；
コンボリューショナルニューラルネットワークを利用して前記行列形態のデータを前記行列よりも小さい次元の表現ベクトルに変換する段階；および
前記メッセージから獲得された表現ベクトルを、前記メッセージの発生順に沿って羅列することによって第１表現ベクトルシーケンスを構成し、ＬＳＴＭニューラルネットワークを利用して前記第１表現ベクトルシーケンスを分析することによって、前記セッションの異常可否を判断する段階；を含む、異常セッション感知方法。
【請求項２】
前記メッセージのうち少なくとも一部を行列形態のデータに変換する段階は、
前記メッセージのそれぞれに含まれた文字をワンホットベクトル（ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒ）に変換することによって、前記メッセージのそれぞれを行列形態のデータに変換する、請求項１に記載の異常セッション感知方法。
【請求項３】
前記ＬＳＴＭニューラルネットワークは、複数のＬＳＴＭレイヤーを含むＬＳＴＭエンコーダおよび前記ＬＳＴＭエンコーダと対称的な構造を有するＬＳＴＭデコーダを含む、請求項１に記載の異常セッション感知方法。
【請求項４】
前記ＬＳＴＭエンコーダは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、あらかじめ定められた大きさの隠れ（ｈｉｄｄｅｎ）ベクトルを出力し、
前記ＬＳＴＭデコーダは、前記隠れベクトルの入力を受けて前記第１表現ベクトルシーケンスに対応する第２表現ベクトルシーケンスを出力する、請求項３に記載の異常セッション感知方法。
【請求項５】
前記セッションが正常であるか異常であるかを判断する段階は、
前記第１表現ベクトルシーケンスと前記第２表現ベクトルシーケンスとの間の差に基づいて前記セッションが正常であるか異常であるかを判断する、請求項４に記載の異常セッション感知方法。
【請求項６】
前記ＬＳＴＭデコーダは、前記第１表現ベクトルシーケンスに含まれる表現ベクトルのそれぞれに対応する推定ベクトルを逆順に出力することによって、前記第２表現ベクトルシーケンスを出力する、請求項４に記載の異常セッション感知方法。
【請求項７】
前記ＬＳＴＭニューラルネットワークは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、入力を受けた表現ベクトルから次の順番の表現ベクトルに対する推定ベクトルを出力する、請求項１に記載の異常セッション感知方法。
【請求項８】
前記セッションの異常可否を判断する段階は、
前記ＬＳＴＭニューラルネットワークが出力した推定ベクトルと前記ＬＳＴＭニューラルネットワークが入力を受ける表現ベクトルとの間の差から前記セッションの異常可否を判断する、請求項７に記載の異常セッション感知方法。
【請求項９】
前記コンボリューショナルニューラルネットワークおよび前記ＬＳＴＭニューラルネットワークをトレーニング（ｔｒａｉｎｉｎｇ）する段階；を含む、請求項１に記載の異常セッション感知方法。
【請求項１０】
訓練データを前記コンボリューショナルニューラルネットワークに入力し、
前記コンボリューショナルニューラルネットワークの出力を、前記コンボリューショナルニューラルネットワークに対称的な構造を有する対称ニューラルネットワークに入力させ、
前記対称ニューラルネットワークの出力と前記訓練データとの間の差に基づいて、前記コンボリューショナルニューラルネットワークで使用する加重値パラメーターを更新することによって、前記コンボリューショナルニューラルネットワークをトレーニングする、請求項９に記載の異常セッション感知方法。
【請求項１１】
前記ＬＳＴＭニューラルネットワークは、複数のＬＳＴＭレイヤーを含むＬＳＴＭエンコーダおよび前記ＬＳＴＭエンコーダと対称的な構造を有するＬＳＴＭデコーダを含み、
訓練データを前記ＬＳＴＭエンコーダに入力し、
前記ＬＳＴＭエンコーダから出力される隠れベクトルおよび前記訓練データを前記ＬＳＴＭデコーダに入力し、
前記ＬＳＴＭデコーダの出力と前記訓練データとの間の差に基づいて、前記ＬＳＴＭエンコーダおよび前記ＬＳＴＭデコーダで使用する加重値パラメーターを更新することによって、前記ＬＳＴＭニューラルネットワークをトレーニングする、請求項９に記載の異常セッション感知方法。
【請求項１２】
サーバーがクライアントから受信する要請メッセージと、前記サーバーが生成する応答メッセージを含むセッションの異常可否を感知する方法において、
前記セッションに含まれたメッセージのうち少なくとも一部を行列形態のデータに変換する段階；
コンボリューショナルニューラルネットワークを利用して前記行列形態のデータを前記行列よりも小さい次元の表現ベクトルに変換する段階；および
前記メッセージから獲得された表現ベクトルを、前記メッセージの発生順に沿って羅列することによって第１表現ベクトルシーケンスを構成し、ＧＲＵニューラルネットワークを利用して前記第１表現ベクトルシーケンスを分析することによって、前記セッションの異常可否を判断する段階；を含む、異常セッション感知方法。
【請求項１３】
前記ＧＲＵニューラルネットワークは、複数のＧＲＵレイヤーを含むＧＲＵエンコーダおよび前記ＧＲＵエンコーダと対称的な構造を有するＧＲＵデコーダを含む、請求項１２に記載の異常セッション感知方法。
【請求項１４】
前記ＧＲＵエンコーダは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、あらかじめ定められた大きさの隠れ（ｈｉｄｄｅｎ）表現ベクトルを出力し、
前記ＧＲＵデコーダは前記隠れベクトルの入力を受けて前記第１表現ベクトルシーケンスに対応する第２表現ベクトルシーケンスを出力する、請求項１３に記載の異常セッション感知方法。
【請求項１５】
前記セッションが正常であるか異常であるかを判断する段階は、
前記第１表現ベクトルシーケンスと前記第２表現ベクトルシーケンスとの間の差に基づいて前記セッションが正常であるか異常であるかを判断する、請求項１４に記載の異常セッション感知方法。
【請求項１６】
前記ＧＲＵデコーダは、前記第１表現ベクトルシーケンスに含まれる表現ベクトルのそれぞれに対応する推定ベクトルを逆順に出力することによって、前記第２表現ベクトルシーケンスを出力する、請求項１４に記載の異常セッション感知方法。
【請求項１７】
前記ＧＲＵニューラルネットワークは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、入力を受けた表現ベクトルから次の順番の表現ベクトルに対する予測値を出力する、請求項１２に記載の異常セッション感知方法。
【請求項１８】
前記セッションの異常可否を判断する段階は、
前記ＧＲＵニューラルネットワークが出力した予測値と前記ＧＲＵニューラルネットワークが入力を受ける表現ベクトルとの間の差から前記セッションの異常可否を判断する、請求項１７に記載の異常セッション感知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーバーの異常セッションを感知する方法に関するもので、コンボリューショナルニューラルネットワークおよびＬＳＴＭニューラルネットワークを利用して異常セッションを感知する方法に関するものである。
【背景技術】
【０００２】
一般的に、サーバーがクライアントにサービスを提供する間、クライアントはサーバーに要請メッセージ（ｅｘ．  ｈｔｔｐ  ｒｅｑｅｕｓｔ）を伝送し、サーバーは要請に応答して応答メッセージ（ｅｘ．  ｈｔｔｐ  ｒｅｓｐｏｎｓｅ）を生成する。サービス提供過程で発生した要請メッセージと応答メッセージを時間順に整列したものをセッション（ｅｘ．  ｈｔｔｐ  ｓｅｓｓｉｏｎ）と言うことができる。
【０００３】
もし、サーバーの動作にエラーが発生したり、攻撃者が他の使用者のログイン情報を奪取して接続するようになると、要請メッセージと応答メッセージの配列特徴が通常とは異なるようになり、正常なセッションとは異なる特徴を有する異常セッションが発生する。サービスエラーを迅速に復元するためには、セッションをモニタリングして異常セッションを感知できる技術が要求される。その一方、自動的にデータの特徴を抽出してカテゴリー化する技術としてマシンラーニングが脚光を浴びている。
【０００４】
マシンラーニング（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ；機械学習）とは、人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ：ＡＩ）の一種であって、データを基盤としてコンピュータが自ら学習した内容に基づいて、回帰、分類、群集化などの予測作業を行うことをいう。
【０００５】
ディープラーニング（ｄｅｅｐ  ｌｅａｒｎｉｎｇ）は人の考え方をコンピュータに教える機械学習の一分野であり、多様な非線形変換技法の組み合わせを通じて高い水準の抽象化（ａｂｓｔｒａｃｔｉｏｎｓ、多量のデータや複雑な資料の中から核心的な内容または機能を要約する作業）を試みる機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）アルゴリズムの集合と定義することができる。
【０００６】
ディープラーニングの構造は、人工ニューラルネットワーク（ＡＮＮ、ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ）に基づいて設計された概念である。人工ニューラルネットワークは、仮想のニューロンを数学的にモデリングした後にシミュレーションして、人間の脳のような学習能力を持たせようとするアルゴリズムであって、主にパターン認識に多く用いられる。ディープラーニングで利用する人工ニューラルネットワークモデルは、線形フィッテイング（ｌｉｎｅａｒ  ｆｉｔｔｉｎｇ）と非線形変換（ｎｏｎｌｉｎｅａｒ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ  ｏｒ  ａｃｔｉｖａｔｉｏｎ）を繰り返して積み上げた構造を有する。ディープラーニングで用いるニューラルネットワークモデルは、ディープニューラルネットワーク（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ、ＤＮＮ）、コンボリューショナルニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ、ＣＮＮ）、リカレントニューラルネットワーク（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ、ＲＮＮ）、制限ボルツマンマシン（Ｒｅｓｔｒｉｃｔｅｄ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ、ＲＢＭ）、ディープ信頼ニューラルネットワーク（Ｄｅｅｐ  Ｂｅｌｉｅｆ  Ｎｅｔｗｏｒｋ、ＤＢＮ）、ディープＱ−ネットワーク（Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋｓ）等が挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、人工ニューラルネットワークを利用して異常セッションを感知する方法を提供することにその目的がある。
【課題を解決するための手段】
【０００８】
一側面において、サーバーがクライアントから受信する要請メッセージと、前記サーバーが生成する応答メッセージを含むセッションの異常可否を感知する方法において、前記セッションに含まれたメッセージのうち少なくとも一部を行列形態のデータに変換する段階；コンボリューショナルニューラルネットワークを利用して前記行列形態のデータを前記行列よりも小さい次元の表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）ベクトルに変換する段階；および前記メッセージから獲得された表現ベクトルを、前記メッセージの発生順に沿って羅列することによって第１表現ベクトルシーケンスを構成し、ＬＳＴＭニューラルネットワークを利用して前記第１表現ベクトルシーケンスを分析することによって、前記セッションの異常可否を判断する段階；を含む異常セッション感知方法が開示される。
【０００９】
前記メッセージのうち少なくとも一部を行列形態のデータに変換する段階は、前記メッセージのそれぞれに含まれた文字をワンホットベクトル（ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒ）に変換することによって、前記メッセージのそれぞれを行列形態のデータに変換することができる。
【００１０】
前記ＬＳＴＭニューラルネットワークは、複数のＬＳＴＭレイヤーを含むＬＳＴＭエンコーダおよび前記ＬＳＴＭエンコーダと対称的な構造を有するＬＳＴＭデコーダを含むことができる。
【００１１】
前記ＬＳＴＭエンコーダは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、あらかじめ定められた大きさの隠れベクトルを出力し、前記ＬＳＴＭデコーダは、前記隠れベクトルの入力を受けて前記第１表現ベクトルシーケンスに対応する第２表現ベクトルシーケンスを出力することができる。
【００１２】
前記セッションが正常であるか異常であるかを判断する段階は、前記第１表現ベクトルシーケンスと前記第２表現ベクトルシーケンスとの間の差に基づいて、前記セッションが正常であるか異常であるかを判断することができる。
【００１３】
前記ＬＳＴＭデコーダは、前記第１表現ベクトルシーケンスに含まれる表現ベクトルのそれぞれに対応する推定ベクトルを逆順に出力することによって、前記第２表現ベクトルシーケンスを出力することができる。
【００１４】
前記ＬＳＴＭニューラルネットワークは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、入力を受けた表現ベクトルから次の順番の表現ベクトルに対する推定ベクトルを出力することができる。
【００１５】
前記セッションの異常可否を判断する段階は、前記ＬＳＴＭニューラルネットワークが出力した推定ベクトルと前記ＬＳＴＭニューラルネットワークが入力を受ける表現ベクトルとの間の差から、前記セッションの異常可否を判断することができる。
【００１６】
前記異常セッション感知方法は、前記コンボリューショナルニューラルネットワークおよび前記ＬＳＴＭニューラルネットワークをトレーニング（ｔｒａｉｎｉｎｇ）する段階をさらに含むことができる。
【００１７】
前記異常セッション感知方法は、訓練データを前記コンボリューショナルニューラルネットワークに入力し、前記コンボリューショナルニューラルネットワークの出力を、前記コンボリューショナルニューラルネットワークに対称的な構造を有する対称ニューラルネットワークに入力させ、前記対称ニューラルネットワークの出力と前記訓練データとの間の差に基づいて前記コンボリューショナルニューラルネットワークで使用する加重値パラメーターを更新することによって、前記コンボリューショナルニューラルネットワークをトレーニングすることができる。
【００１８】
前記ＬＳＴＭニューラルネットワークは、複数のＬＳＴＭレイヤーを含むＬＳＴＭエンコーダおよび前記ＬＳＴＭエンコーダと対称的な構造を有するＬＳＴＭデコーダを含み、前記異常セッション感知方法は、訓練データを前記ＬＳＴＭエンコーダに入力し、前記ＬＳＴＭエンコーダから出力される隠れベクトルおよび前記訓練データを前記ＬＳＴＭデコーダに入力し、前記ＬＳＴＭデコーダの出力と前記訓練データとの間の差に基づいて前記ＬＳＴＭエンコーダおよび前記ＬＳＴＭデコーダで使用する加重値パラメーターを更新することによって、前記ＬＳＴＭニューラルネットワークをトレーニングすることができる。
【００１９】
他の側面において、前記セッションに含まれたメッセージのうち少なくとも一部を行列形態のデータに変換する段階；コンボリューショナルニューラルネットワークを利用して前記行列形態のデータを前記行列よりも小さい次元の表現ベクトルに変換する段階；および前記メッセージから獲得された表現ベクトルを、前記メッセージの発生順に沿って羅列することによって第１表現ベクトルシーケンスを構成し、ＧＲＵニューラルネットワークを利用して前記第１表現ベクトルシーケンスを分析することによって、前記セッションの異常可否を判断する段階；を含む異常セッション感知方法が開示される。
【００２０】
前記ＧＲＵニューラルネットワークは、複数のＧＲＵレイヤーを含むＧＲＵエンコーダおよび前記ＧＲＵエンコーダと対称的な構造を有するＧＲＵデコーダを含むことができる。
【００２１】
前記ＧＲＵエンコーダは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、あらかじめ定められた大きさの隠れ（ｈｉｄｄｅｎ）ベクトルを出力し、前記ＧＲＵデコーダは、前記隠れベクトルの入力を受けて前記第１表現ベクトルシーケンスに対応する第２表現ベクトルシーケンスを出力することができる。
【００２２】
前記セッションが正常であるか異常であるかを判断する段階は、前記第１表現ベクトルシーケンスと前記第２表現ベクトルシーケンスとの間の差に基づいて前記セッションが正常であるか異常であるかを判断することができる。
【００２３】
前記ＧＲＵデコーダは、前記第１表現ベクトルシーケンスに含まれる表現ベクトルのそれぞれに対応する推定ベクトルを逆順に出力することによって、前記第２表現ベクトルシーケンスを出力することができる。
【００２４】
前記ＧＲＵニューラルネットワークは、前記第１表現ベクトルシーケンスに含まれた表現ベクトルの入力を順に受け、入力を受けた表現ベクトルから次の順番の表現ベクトルに対する予測値を出力することができる。
【００２５】
前記セッションの異常可否を判断する段階は、前記ＧＲＵニューラルネットワークが出力した予測値と前記ＧＲＵニューラルネットワークが入力を受ける表現ベクトルとの間の差から、前記セッションの異常可否を判断することができる。
【発明の効果】
【００２６】
開示された実施例によると、コンボリューショナルニューラルネットワークを利用してセッションに含まれたメッセージを低い次元の表現ベクトルに変換することができる。また、ＬＳＴＭまたはＧＲＵニューラルネットワークを利用してセッションに含まれた表現ベクトルシーケンスを分析し、これからセッションの異常可否を判断することができる。実施例によると、受動的な作業が介入されることなく人工ニューラルネットワークを利用してセッションの異常可否を容易に判断することができる。
【図面の簡単な説明】
【００２７】
【図１】例示的な実施例に係る装置を示したブロック図。
【図２】本発明の例示的な実施例に係る装置で遂行される異常セッション感知方法を示したフローチャート。
【図３】セッションの一例を示した概念図。
【図４】プロセッサがメッセージの文字列を行列形態のデータに変換することを例示的に示した概念図。
【図５】コンボリューショナルニューラルネットワークを例示的に示した概念図。
【図６】コンボリューション演算を例示的に示した概念図。
【図７】プロセッサが図６に示したイメージからコンボリューションイメージを抽出したことを示した概念図。
【図８】図５に示したコンボリューションおよびプーリングレイヤーの動作を示した概念図。
【図９】ＬＳＴＭニューラルネットワークを例示的に示した概念図。
【図１０】ＬＳＴＭレイヤーの構成を例示的に示した概念図。
【図１１】ＬＳＴＭエンコーダ動作方式を示した概念図。
【図１２】ＬＳＴＭデコーダの動作方式を示した概念図。
【図１３】ＬＳＴＭニューラルネットワークが直ちに推定ベクトルを出力する例を示した概念図。
【図１４】ＧＲＵニューラルネットワークを例示的に示した概念図。
【図１５】ＧＲＵレイヤーの構成を例示的に示した概念図。
【図１６】本発明の例示的な実施例に係る装置１００で遂行される異常セッション感知方法の変形例を示したフローチャート。
【図１７】コンボリューショナルニューラルネットワークのトレーニング過程を示した概念図。
【発明を実施するための形態】
【００２８】
本発明は多様な変更を加えることができ、多様な実施例を有することができるところ、特定の実施例を図面に例示し、詳細な説明に詳細に説明する。しかし、これは本発明を特定の実施形態に限定するためのものではなく、本発明の思想および技術範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解されるべきである。各図面の説明において、類似の参照符号は類似の構成要素に付与した。
【００２９】
第１、第２、Ａ、Ｂなどの用語は多様な構成要素の説明に使われ得るが、前記構成要素は前記用語によって限定されてはならない。前記用語は一つの構成要素を別の構成要素から区別する目的でのみ使われる。例えば、本発明の権利範囲を逸脱することなく、かつ第１構成要素は第２構成要素と命名され得、同様に第２構成要素も第１構成要素と命名され得る。「および／または」という用語は、複数の関連して記載された項目の組み合わせまたは複数の関連して記載された項目中のいずれかの項目を含む。
【００３０】
ある構成要素が別の構成要素に「連結されて」いるとか「接続されて」いると言及された時には、その他の構成要素に直接的に連結されているかまたは接続されていることもあり得るが、中間に他の構成要素が存在することもあり得ると理解されるべきである。反面、ある構成要素が他の構成要素に「直接連結されて」いるとか「直接接続されて」いると言及された時には、中間に他の構成要素が存在しないものと理解されるべきである。
【００３１】
本出願で使った用語は単に特定の実施例を説明するために使われたものであって、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なることを意味しない限り、複数の表現を含む。本出願において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するためのものであり、一つまたはそれ以上の別の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加の可能性をあらかじめ排除しないものと理解されるべきである。
【００３２】
別途に定義されない限り、技術的又は科学的な用語を含んでここで使われるすべての用語は、本発明が属する技術分野で通常の知識を有する者によって一般に理解されることと同じ意味を有している。一般に使われる辞書に定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈されるべきであり、本出願で明白に定義しない限り、理想的又は過度に形式的な意味に解釈されない。
【００３３】
以下、本発明に係る好ましい実施例を添付図面を参照して詳細に説明する。
【００３４】
図１は、例示的な実施例に係る装置１００を示したブロック図である。
【００３５】
図１の装置１００は、サービスを提供するサーバーであってもよく、サーバーと連結されてサーバーのセッションを分析する他の装置であってもよい。
【００３６】
図１を参照すると、例示的な実施例に係る装置１００は、少なくとも一つのプロセッサ１１０、メモリ１２０および保存装置１２５等を含むことができる。
【００３７】
プロセッサ１１０は、メモリ１２０および／または保存装置１２５に保存されたプログラム命令（ｐｒｏｇｒａｍ  ｃｏｍｍａｎｄ）を遂行することができる。プロセッサ１１０は、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；ＣＰＵ）、グラフィック処理装置（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；ＧＰＵ）または本発明に係る方法が遂行される専用のプロセッサを意味し得る。メモリ１２０と保存装置１６０は、揮発性保存媒体および／または不揮発性保存媒体で構成され得る。例えば、メモリ１２０は、読み取り専用メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ；ＲＯＭ）および／またはランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ；ＲＡＭ）で構成され得る。
【００３８】
メモリ１２０は、プロセッサ１１０を介して実行される少なくとも一つの命令を保存していてもよい。
【００３９】
メモリ１２０に保存された命令は、プロセッサ１１０の機械学習によってアップデートされ得る。プロセッサ１１０は機械学習によってメモリに保存された命令を変更することができる。プロセッサ１１０が遂行する機械学習は、指導学習方式または非指導学習方式によって行われ得る。しかし、実施例はこれに制限されるものではない。例えば、機械学習は強化学習などの他の方式によって行われてもよい。
【００４０】
図２は、本発明の例示的な実施例に係る装置１００で遂行される異常セッション感知方法を示したフローチャートである。
【００４１】
図２を参照すると、Ｓ１１０段階で、プロセッサ１１０はセッションを構成することができる。プロセッサ１１０は、クライアントがサーバーに伝送した要請メッセージとサーバーが生成した応答メッセージからセッションを構成することができる。要請メッセージは、ｈｔｔｐ  ｒｅｑｕｅｓｔを含むことができる。応答メッセージは、ｈｔｔｐ  ｒｅｓｐｏｎｓｅを含むことができる。セッションは、ｈｔｔｐ  ｓｅｓｓｉｏｎを含むことができる。プロセッサ１１０は要請メッセージおよび応答メッセージを、生成時点に沿って順に羅列してセッションを構成することができる。
【００４２】
図３は、セッションの一例を示した概念図である。
【００４３】
図３を参照すると、プロセッサ１１０は要請メッセージおよび応答メッセージを生成時点に沿って順に羅列することによって、セッションを構成することができる。プロセッサ１１０は要請メッセージおよび応答メッセージのそれぞれに識別子を付与することもできる。プロセッサ１１０は後述する過程でセッションの特徴を分析することによって、セッションの異常可否を判断することができる。プロセッサ１１０はセッションの特徴を分析することによって、異常なパターンで要請メッセージと応答メッセージが羅列されたセッションを異常セッションと判断することができる。
【００４４】
再び図２を参照すると、Ｓ１３０段階で、プロセッサ１１０はセッションに含まれたメッセージのうち少なくとも一部を抽出することができる。例えば、プロセッサ１１０は、セッションに含まれた要請メッセージおよび応答メッセージのすべてを抽出することができる。他の例として、プロセッサ１１０はセッションに含まれた要請メッセージのみを抽出することができる。さらに他の例として、プロセッサ１１０はセッションに含まれた応答メッセージのみを抽出することもできる。
【００４５】
プロセッサ１１０は抽出したメッセージのそれぞれを行列形態のデータに変換することができる。プロセッサ１１０はメッセージのそれぞれに含まれた文字をワンホットベクトル（ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒ）に変換することができる。
【００４６】
図４は、プロセッサ１１０がメッセージの文字列を行列形態のデータに変換することを例示的に示した概念図である。
【００４７】
図４を参照すると、プロセッサ１１０はメッセージに含まれた文字列の最後の文字から逆順で文字のそれぞれをワンホットベクトル（ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒ）に変換することができる。プロセッサ１１０は文字のそれぞれをワンホットベクトルに変換することによって、メッセージの文字列を行列に変換することができる。
【００４８】
ワンホットベクトルは一つの成分のみが１であり、残りの成分は０であるか、すべての成分が０であり得る。ワンホットベクトルで「１」値を有する成分の位置は、ワンホットベクトルが示す文字の種類によって変わり得る。例えば、図４に示した通り、アルファベットのＣ、Ｆ、Ｂ、Ｄのそれぞれに対応するｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒは、互いに異なる位置の成分が「１」値を有し得る。図４に示した点字のイメージは例示的なものに過ぎず、実施例はこれに制限されるものではない。例えば、ワンホットベクトルの大きさは、図４に示したものよりも大きくてもよい。ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒは、テキスト集合テキスト合計「ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ０１２３４５６７８９−、；．！？：”ウォン”／ウォンウォン｜＿＠＃＄％＾＆＊〜′＋−＝＜＞（）［］｛｝」を表現することができる。あるいは多様な文字に対応するために、入力される文字列をＵＴＦ−８コードに変換した後、再び１６進数の変換を経て「０１２３４５６７８９ａｂｃｄｅｆ」で表現することができる。例えば、このような変化を経た英文字１字は２字の１６進数で表現される。
【００４９】
ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒにおいて、「１」成分の位置はｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒが示す文字の順序により変わり得る。
【００５０】
文字の種類が総Ｆ（０）（ｅｘ．  ６９個（英文字２６、数字０−９、ｎｅｗ  ｌｉｎｅ、３３個の特殊文字）の場合、プロセッサ１１０はそれぞれのメッセージをＦ（０）×Ｌ（０）大きさの行列に変換することができる。もし、メッセージの長さがＬ（０）より小さければ、不足する表現ベクトルはいずれも０表現ベクトルに変換することができる。他の例として、メッセージの長さがＬ（０）よりも大きければ、Ｌ（０）個の文字のみをワンホットベクトルに変換することができる。
【００５１】
再び図３を参照すると、Ｓ１４０段階で、プロセッサ１１０はコンボリューショナルニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を利用して、行列データを低い次元の表現ベクトルでマッピングすることができる。プロセッサ１１０はコンボリューショナルニューラルネットワークを利用して、行列データの特性が反映された表現ベクトルを出力することができる。出力された表現ベクトルの次元は、行列データの次元よりも低くてもよい。以下ではコンボリューショナルニューラルネットワークについて説明する。
【００５２】
図５はコンボリューショナルニューラルネットワークを例示的に示した概念図である。
【００５３】
図５を参照すると、コンボリューショナルニューラルネットワークは、少なくとも一つのコンボリューションおよびプーリングレイヤー（ｃｏｎｖｏｌｕｔｉｏｎ  ＆  ｐｏｏｌｉｎｇ  ｌａｙｅｒ）と、少なくとも一つの全体連結レイヤー（ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）を含むことができる。図５では一つのレイヤーでコンボリューション動作およびプーリング動作が行われる例を示したが、実施例はこれに制限されるものではない。例えば、コンボリューション動作が遂行されるレイヤーとプーリング動作が遂行されるレイヤーが互いに分離されていてもよい。また、コンボリューショナルニューラルネットワークはプーリング動作を遂行しなくてもよい。
【００５４】
コンボリューショナルニューラルネットワークは入力を受けたデータの特徴を抽出し、入力を受けたデータよりもスケールが小さい出力データを生成して出力することができる。コンボリューショナルニューラルネットワークはイメージまたは行列形態のデータの入力を受けることができる。
【００５５】
コンボリューションおよびプーリングレイヤーは行列データの入力を受け、入力を受けた行列データに対してコンボリューション演算を遂行することができる。
【００５６】
図６は、コンボリューション演算を例示的に示した概念図である。
【００５７】
図６を参照すると、プロセッサ１１０は、カーネルＦＩを利用して入力イメージＯＩに対するコンボリューション演算を遂行することができる。カーネルＦＩは、イメージＯＩのピクセルの個数よりも小さい大きさの行列であり得る。例示的に、フィルタカーネルＦＩの（１、１）成分は０であり得る。したがって、コンボリューションを計算する時、カーネルＦＩの（１、１）成分に対応するイメージＯＩのピクセルに対して０を乗算してもよい。他の例として、カーネルＦＩの（２、１）成分は１である。したがって、コンボリューションを計算する時、カーネルＦＩの（２、１）成分に対応するイメージＯＩのピクセルに対して１を乗算してもよい。
【００５８】
プロセッサ１１０はイメージＯＩ上でカーネルＦＩの位置を変更しながら、イメージＯＩに対するコンボリューション演算を遂行することができる。そして、プロセッサ１１０は計算されたコンボリューション値からコンボリューションイメージを出力することができる。
【００５９】
図７は、プロセッサ１１０が図６に示したイメージＯＩからコンボリューションイメージを抽出したことを示した概念図である。
【００６０】
図７に示したフィルタカーネルＦＩが、イメージＯＩ上で動くことができる場合の数が（１０−３＋１）×（１０−３＋１）＝８×８個であるため、プロセッサ１１０は８×８個のコンボリューション値を計算することができる。そして、８×８個のコンボリューション値から図６に示したような８×８ピクセルの大きさのコンボリューションイメージを抽出することができる。コンボリューションイメージＣＩのピクセルの個数は、原本イメージＯＩよりも小さくなるようになる。プロセッサ１１０は、カーネルＦＩを利用することによって、原本イメージの特性が反映されたコンボリューションイメージを抽出することができる。プロセッサ１１０は、カーネルＦＩを利用して入力されたイメージＯＩよりも大きさが小さく、入力されたイメージＯＩの特性を反映するコンボリューションイメージＣＩを出力することができる。コンボリューション演算はコンボリューションレイヤーまたはコンボリューションおよびプーリングレイヤーで遂行され得る。
【００６１】
図８は、図５に示したコンボリューションおよびプーリングレイヤーの動作を示した概念図である。
【００６２】
図８では便宜上、コンボリューショナルニューラルネットワークの最初のコンボリューションおよびプーリングレイヤー（Ｃｏｎｖｏｌｕｔｉｏｎ  ａｎｄ  ｐｏｏｌｉｎｇ  ｌａｙｅｒ  １）での動作を例示的に示した。図８を参照すると、入力レイヤーはＦ（０）×Ｌ（０）大きさの行列データの入力を受けることができる。入力レイヤーはｍ×ｒ大きさを有するｎ個のコンボリューションフィルターを利用してコンボリューション演算を遂行することができる。入力レイヤーはコンボリューション演算を通じてｎ個の特徴マップ（ｆｅａｔｕｒｅ  ｍａｐ）を出力することができる。特徴マップのそれぞれの次元はＦ（０）×Ｌ（０）よりも小さくてもよい。
【００６３】
コンボリューションおよびプーリングレイヤー（ｌａｙｅｒ  １）は、コンボリューション演算によって出力された特徴マップのそれぞれに対してプーリング演算を遂行することによって、特徴マップの大きさを減らすことができる。プーリング演算は、特徴マップで隣接したピクセルをマージ（ｍｅｒｇｅ）して一つの代表値を獲得する演算であり得る。コンボリューションおよびプーリングレイヤーでプーリング演算によって特徴マップの大きさが減少され得る。
【００６４】
代表値は多様な方法で獲得され得る。例えば、プロセッサ１１０は特徴マップで互いに隣接したｐ×ｑ個のピクセルの値のうち最大値を代表値として決定することができる。他の例として、プロセッサ１１０は特徴マップで互いに隣接したｐ×ｑ個のピクセルの値の平均値を代表値として決定することができる。
【００６５】
再び図５を参照すると、Ｎｃ個のコンボリューションおよびプーリングレイヤーでコンボリューション演算とプーリング演算が遂行され得る。コンボリューション演算およびプーリング演算が遂行されることによって特徴マップの大きさはますます減少され得る。最後のコンボリューションおよびプーリングレイヤー（Ｌａｙｅｒ  Ｎｃ）でＭ（Ｎｃ）×Ｌ（Ｎｃ）の大きさを有する特徴マップＦ（Ｎｃ）個が出力され得る。最後のコンボリューションおよびプーリングレイヤー（Ｌａｙｅｒ  Ｎｃ）で出力される特徴マップは次のように表現され得る。
【００６６】
2019061647.tif 000003
【００６７】
最後のコンボリューションおよびプーリングレイヤー（Ｌａｙｅｒ  Ｎｃ）で出力される特徴マップは、最初の全体連結レイヤー（Ｌａｙｅｒ  ＮＣ＋１）に入力され得る。最初の全体連結レイヤーは、入力を受けた特徴マップを１×Ｆ（Ｎｃ）Ｍ（Ｎｃ）Ｌ（Ｎｃ）（≡∧（Ｎｃ））の大きさを有する１次元の表現ベクトルａ（Ｎｃ）(t) for 0≦ｔ≦∧（Ｎｃ）−１に変換することができる。
【００６８】
最初の全体連結レイヤーは、変換した１次元の表現ベクトルに対してウェイト（ｗｅｉｇｈｔ）行列を乗算することができる。例示的に、最初の全体連結レイヤーが遂行する演算は数学式７のように示すことができる。
【００６９】
2019061647.tif 000004
【００７０】
数学式１でＷ（Ｎｃ+１）（ｔ、ｕ）は、最初の全体連結レイヤーで利用するウェイト行列を意味する。ａ（Ｎｃ+１）（ｔ）は最初の全体連結レイヤーで出力される表現ベクトルを意味する。ａ（Ｎｃ+１）（ｔ）は１次元の表現ベクトルであり得る。∧（Ｎｃ+１）は最初の全体連結レイヤーで出力される表現ベクトルａ（Ｎｃ+１）（ｔ）の大きさを意味する。
【００７１】
数学式１を参照すると、最初の全体連結レイヤーは、∧（Ｎｃ）大きさの表現ベクトルからウェイト行列を利用して∧（Ｎｃ+１）の大きさの表現ベクトルを出力することができる。
【００７２】
図５を参照すると、コンボリューショナルニューラルネットワークは、ＮＦ個の全体連結レイヤーを含むことができる。数学式１を一般化して、ｌ番目の全体連結レイヤーで遂行される演算は数学式２のように示すことができる。
【００７３】
2019061647.tif 000005
【００７４】
数学式２において、ａ(l)(t)はｌ番目の全体連結レイヤーの出力表現ベクトルを意味する。Ｗ(l)(t,u)はｌ番目の全体連結レイヤーで利用するウェイト行列を意味する。φ(l)はｌ番目の全体連結レイヤーで利用する活性化関数を意味する。ａ(l-1)(u)はｌ−１番目の全体連結レイヤーの出力表現ベクトルであって、ｌ番目の全体連結レイヤーに対する入力表現ベクトルであり得る。
【００７５】
出力レイヤー（Ｏｕｔｐｕｔ  ｌａｙｅｒ）は最後の全体連結レイヤーの出力表現ベクトルａ(ＮＣ+ＮＦ)(t)の入力を受けることができる。出力レイヤーは数学式３のように表現ベクトル演算を遂行することができる。
【００７６】
2019061647.tif 000006
【００７７】
数学式３において、ｚ(ＮＣ+ＮＦ+1)(t)は出力レイヤーで出力される表現ベクトルを意味する。Ｃは出力表現ベクトルｚ(ＮＣ+ＮＦ+1)(t)のクラス（ｃｌａｓｓ）の個数を意味する。
【００７８】
出力レイヤーは、数学式３で獲得した出力表現ベクトルｚ(ＮＣ+ＮＦ+1)(t)のそれぞれのクラスに対する最終出力値を計算することができる。出力レイヤーは、活性化関数を利用して最終出力表現ベクトルを計算することができる。出力レイヤーの最終出力値の計算過程は数学式４のように示すことができる。
【００７９】
2019061647.tif 000007
【００８０】
数学式４において、φ(ＮＣ+ＮＦ+1)は出力レイヤーで利用される活性化関数を意味する。φ(ＮＣ+ＮＦ+1)はシグモイド関数、ハイパータンジェント関数および整流線形ユニットのうち少なくとも一つであり得る。数学式４を参照すると、出力レイヤーは出力表現ベクトルｚ(ＮＣ+ＮＦ+1)(t)に対する最終出力表現ベクトル^γ(t)を計算することができる。
【００８１】
他の例として、最終出力レイヤーはソフトマックス（ｓｏｆｔ  ｍａｘ）関数を利用して最終出力値を計算することもできる。出力レイヤーの最終出力表現ベクトル計算過程は数学式５のように示すこともできる。
【００８２】
2019061647.tif 000008
【００８３】
数学式５を参照すると、最終出力レイヤーは出力表現ベクトルのクラス値に対する指数関数を利用して最終出力値を計算することができる。
【００８４】
数学式３〜５において、０≦ｔ≦Ｃ−１であるので、コンボリューショナルニューラルネットワークはＣ×１の大きさの表現ベクトルを出力することができる。すなわち、コンボリューショナルニューラルネットワークはＦ（０）×Ｌ（０）の大きさの行列データの入力を受けてＣ×１の大きさの表現ベクトルを出力することができる。
【００８５】
コンボリューショナルニューラルネットワークは非指導学習方式によってもトレーニングされ得る。コンボリューショナルニューラルネットワークのトレーニング方式は図１７を参照した説明において後述する。
【００８６】
再び図２を参照すると、Ｓ１５０段階で、プロセッサ１１０はセッションに対応する第１表現ベクトルシーケンスを生成することができる。プロセッサ１１０は、コンボリューショナルニューラルネットワークを利用してセッションで抽出したメッセージのそれぞれから獲得した表現ベクトルを利用して、第１表現ベクトルシーケンスを生成することができる。例えば、プロセッサ１１０はメッセージの生成順に沿って表現ベクトルを順に羅列して表現ベクトルシーケンスを生成することができる。第１表現ベクトルシーケンスは例示的に下記のように表現され得る。
【００８７】
2019061647.tif 000009
【００８８】
ｘｔはセッションのｔ番目のメッセージ（要請メッセージまたは応答メッセージ）から生成された表現ベクトルを意味し得る。
【００８９】
Ｓ１６０段階で、プロセッサ１１０は第１表現ベクトルシーケンスを分析することによって、セッションの異常可否を判断することができる。プロセッサ１１０は、ＬＳＴＭ（Ｌｏｎｇ  ｓｈｏｒｔ  ｔｅｒｍ  ｍｅｍｏｒｙ）ニューラルネットワークを利用して第１表現ベクトルシーケンスを分析することができる。ＬＳＴＭニューラルネットワークは、情報を保存するセル状態（Ｃｅｌｌ  ｓｔａｔｅ）の選択的な更新を通じてＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）の長期依存性を回避することができる。以下では、ＬＳＴＭニューラルネットワークについて説明する。
【００９０】
図９は、ＬＳＴＭニューラルネットワークを例示的に示した概念図である。
【００９１】
2019061647.tif 000010
【００９２】
2019061647.tif 000011
【００９３】
2019061647.tif 000012
【００９４】
図１０は、ＬＳＴＭレイヤーの構成を例示的に示した概念図である。
【００９５】
図１０を参照すると、ＬＳＴＭレイヤーは忘れゲート（ｆｏｒｇｅｔ  ｇａｔｅ）８１０、入力ゲート（ｉｎｐｕｔ  ｇａｔｅ）８５０、出力ゲート（ｏｕｔｐｕｔ  ｇａｔｅ）８６０を含むことができる。図１０でボックスの中央のラインはレイヤーのセル（ｃｅｌｌ）状態を示すラインである。
【００９６】
2019061647.tif 000013
【００９７】
2019061647.tif 000014
【００９８】
数学式６において、σはシグモイド（ｓｉｇｍｏｉｄ）関数を意味する。ｂｆはバイアス（ｂｉａｓ）を意味する。Ｗｘｆはｘｔに対する加重値を意味し、Ｗｈｆはｈｔ−１に対する加重値を意味し、Ｗｃｆはｃｔ−１に対する加重値を意味する。
【００９９】
入力ゲート８５０は、セル状態にどのような新しい情報を反映するかを決定することができる。入力ゲート８５０は数学式７を利用して、セル状態に反映する新しい情報ｉｔを計算することができる。
【０１００】
2019061647.tif 000015
【０１０１】
数学式７において、σはシグモイド（ｓｉｇｍｏｉｄ）関数を意味する。ｂｉはバイアス（ｂｉａｓ）を意味する。Ｗｘｉはｘｔに対する加重値を意味し、Ｗｈｉはｈｔ−１に対する加重値を意味し、Ｗｃｉはｃｔ−１に対する加重値を意味する。
【０１０２】
入力ゲート８５０は、新しいセル状態Ｃｔに対する候補値〜Ｃｔを計算することができる。入力ゲート８５０は数学式８を利用して、候補値〜Ｃｔを計算することができる。
【０１０３】
2019061647.tif 000016
【０１０４】
数学式８において、ｂｃはバイアス（ｂｉａｓ）を意味する。Ｗｘｃはｘｔに対する加重値を意味し、Ｗｈｃはｈｔ−１に対する加重値を意味する。
【０１０５】
セルラインは、ｆｔ、ｉｔ、〜ｃｔを利用して新しいセル状態ｃｔを計算することができる。例示的に、ｃｔは数学式９により計算され得る。
【０１０６】
2019061647.tif 000017
【０１０７】
数学式８を参照すると、数学式９は数学式１０のように示すことができる。
【０１０８】
2019061647.tif 000018
【０１０９】
出力ゲート８６０は、セル状態ｃｔを利用して出力値を計算することができる。例示的に、出力ゲート８６０は数学式１１により出力値を計算することができる。
【０１１０】
2019061647.tif 000019
【０１１１】
数学式１１において、σはシグモイド（ｓｉｇｍｏｉｄ）関数を意味する。ｂｏはバイアス（ｂｉａｓ）を意味する。Ｗｘｏはｘｔに対する加重値を意味し、Ｗｈｏはｈｔ−１に対する加重値を意味し、Ｗｃｏはｃｔに対する加重値を意味する。
【０１１２】
ＬＳＴＭレイヤーは、出力値ｏｔおよび新しいセル状態ｃｔを利用して表現ベクトルｘｔに対する隠れベクトルｈｔを計算することができる。例示的に、ｈｔは数学式１２により計算され得る。
【０１１３】
2019061647.tif 000020
【０１１４】
ＬＳＴＭニューラルネットワークは、ＬＳＴＭエンコーダ（ｅｎｃｏｄｅｒ）およびＬＳＴＭエンコーダに対称的な構造を有するＬＳＴＭデコーダ（ｄｅｃｏｄｅｒ）を含むことができる。ＬＳＴＭエンコーダは、第１表現ベクトルシーケンスの入力を受けることができる。ＬＳＴＭエンコーダは、第１表現ベクトルシーケンスの入力を受けてあらかじめ定められた大きさの隠れベクトルを出力することができる。ＬＳＴＭデコーダは、ＬＳＴＭエンコーダから出力された隠れベクトルの入力を受けることができる。ＬＳＴＭデコーダは、ＬＳＴＭエンコーダで使用された加重値行列とバイアス値をそのまま使用することができる。ＬＳＴＭデコーダは、第１表現ベクトルシーケンスに対応する第２表現ベクトルシーケンスを出力することができる。ＬＳＴＭデコーダは、第２表現ベクトルシーケンスは第１表現ベクトルシーケンスに含まれた表現ベクトルに対応する推定ベクトルを含むことができる。ＬＳＴＭデコーダは、推定ベクトルを逆順に出力することができる。すなわち、ＬＳＴＭデコーダは、第１表現ベクトルシーケンスの表現ベクトルの逆順に推定ベクトルを出力することができる。
【０１１５】
図１１はＬＳＴＭエンコーダ動作方式を示した概念図である。
【０１１６】
2019061647.tif 000021
【０１１７】
2019061647.tif 000022
【０１１８】
2019061647.tif 000023
【０１１９】
2019061647.tif 000024
【０１２０】
2019061647.tif 000025
【０１２１】
2019061647.tif 000026
【０１２２】
2019061647.tif 000027
【０１２３】
数学式１３において、Ｓはセッションで抽出したメッセージ（要請メッセージまたは応答メッセージ）の個数を意味する。ｘｔはｔ番目のメッセージから出力された表現ベクトルであり、＾ｘｔはＬＳＴＭデコーダが出力したｘｔに対する推定ベクトルである。プロセッサ１１０は、第１表現ベクトルシーケンスと第２表現ベクトルシーケンスとの間の差があらかじめ定められた基準値δよりも小さいかの可否を判断することができる。もし、第１表現ベクトルシーケンスと第２表現ベクトルシーケンスとの間の差が基準値δよりも大きければ、プロセッサ１１０はセッションが異常であると判断することができる。
【０１２４】
前述した説明では、ＬＳＴＭニューラルネットワークがＬＳＴＭエンコーダおよびＬＳＴＭデコーダを含む例について説明した。しかし、実施例はこれに制限されるものではない。例えば、ＬＳＴＭニューラルネットワークは直ちに推定ベクトルを出力することもできる。
【０１２５】
図１３は、ＬＳＴＭニューラルネットワークが直ちに推定ベクトルを出力する例を示した概念図である。
【０１２６】
2019061647.tif 000028
【０１２７】
2019061647.tif 000029
【０１２８】
2019061647.tif 000030
【０１２９】
2019061647.tif 000031
【０１３０】
前述した説明では、プロセッサ１１０がＬＳＴＭニューラルネットワークを利用してセッションの異常可否を判断する例について説明した。しかし、実施例はこれに制限されるものではない。例えば、プロセッサ１１０はＳ１６０段階で、ＧＲＵニューラルネットワークを利用してセッションの異常可否を判断することもできる。
【０１３１】
図１４は、ＧＲＵニューラルネットワークを例示的に示した概念図である。
【０１３２】
2019061647.tif 000032
【０１３３】
2019061647.tif 000033
【０１３４】
2019061647.tif 000034
【０１３５】
図１５は、ＧＲＵレイヤーの構成を例示的に示した概念図である。
【０１３６】
図１５を参照すると、ＧＲＵレイヤーはリセットゲートｒおよびアップデートゲートｚを含むことができる。リセットゲートｒは新しい入力を以前のメモリとどのように合わせるかを決定することができる。アップデートゲートｚは、以前のメモリをどの程度反映するかを決定することができる。ＬＳＴＭレイヤーとは異なり、ＧＲＵレイヤーではセル状態と出力とが区分されないこともある。
【０１３７】
例示的に、リセットゲートｒは数学式１５を利用してリセットパラメーターｒを計算することができる。
【０１３８】
2019061647.tif 000035
【０１３９】
数学式１５において、σはシグモイド（ｓｉｇｍｏｉｄ）関数を意味する。Ｕｒはｘｔに対する加重値を意味し、Ｗｒはｓｔ−１に対する加重値を意味する。
【０１４０】
例示的に、アップデートゲートｚは、数学式１６を利用してアップデートパラメーターｚを計算することができる。
【０１４１】
2019061647.tif 000036
【０１４２】
数学式１６において、σはシグモイド（ｓｉｇｍｏｉｄ）関数を意味する。Ｕｚはｘｔに対する加重値を意味し、Ｗｚはｓｔ−１に対する加重値を意味する。
【０１４３】
ＧＲＵレイヤーは新しい隠れベクトルに対する推定値ｈを数学式１７により計算することができる。
【０１４４】
2019061647.tif 000037
【０１４５】
数学式１７において、σはシグモイド（ｓｉｇｍｏｉｄ）関数を意味する。Ｕｈはｘｔに対する加重値を意味し、Ｗｈはｓｔ−１およびｒの積ｓｔ−１ｏｒに対する加重値を意味する。
【０１４６】
ＧＲＵレイヤーは、数学式１７で計算したｈを利用してｘｔに対する隠れベクトルｓｔを計算することができる。例えば、ＧＲＵレイヤーは数学式１８を利用してｘｔに対する隠れベクトルｓｔを計算することができる。
【０１４７】
2019061647.tif 000038
【０１４８】
ＧＲＵニューラルネットワークは、レイヤーのそれぞれの構成上の差を除いては、ＬＳＴＭニューラルネットワークと類似に動作することができる。例えば、図１１〜図１３に示したＬＳＴＭニューラルネットワークの実施例がＧＲＵニューラルネットワークにも類似に適用され得る。ＧＲＵニューラルネットワークの場合、それぞれのレイヤーの動作が図１５に示したように動作することの他に、ＬＳＴＭニューラルネットワークと類似する原理で動作することができる。
【０１４９】
2019061647.tif 000039
【０１５０】
2019061647.tif 000040
【０１５１】
プロセッサ１１０は、数学式１３を利用して第１表現ベクトルシーケンスと第２表現ベクトルシーケンスを比較することによって、セッションの異常可否を判断することができる。
【０１５２】
2019061647.tif 000041
【０１５３】
2019061647.tif 000042
【０１５４】
図１６は、本発明の例示的な実施例に係る装置１００で遂行される異常セッション感知方法の変形例を示したフローチャートである。
【０１５５】
図１６の実施例の説明において、図２と重複する内容は省略する。
【０１５６】
図１６を参照すると、Ｓ１００段階で、プロセッサ１１０はコンボリューショナルニューラルネットワークおよびＬＳＴＭ（またはＧＲＵ）ニューラルネットワークをトレーニングさせることができる。
【０１５７】
例示的に、プロセッサ１１０は非指導学習方式でコンボリューショナルニューラルネットワークをトレーニングすることができる。他の例として、メッセージとメッセージにラベルリングされた出力表現ベクトルを含む訓練データが存在する場合、プロセッサ１１０は指導学習方式でコンボリューショナルニューラルネットワークをトレーニングすることもできる。
【０１５８】
非指導学習の場合、プロセッサ１１０はコンボリューショナルニューラルネットワークに対して対称的構造を有する対称ニューラルネットワークをコンボリューショナルニューラルネットワークに連結することができる。プロセッサ１１０はコンボリューショナルニューラルネットワークの出力を対称ニューラルネットワークに入力させることができる。
【０１５９】
図１７は、コンボリューショナルニューラルネットワークのトレーニング過程を示した概念図である。
【０１６０】
図１７を参照すると、プロセッサ１１０はコンボリューショナルニューラルネットワークの出力を対称ニューラルネットワークに入力させることができる。対称ニューラルネットワークは、前記コンボリューショナルニューラルネットワークの全体連結レイヤーに対応する逆方向全体連結レイヤー（ｂａｃｋｗａｒｄ  ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）と、前記コンボリューショナルニューラルネットワークのコンボリューションレイヤーおよびプーリングレイヤーに対応するテコンボリューションレイヤーおよびアンプーリングレイヤーを含むことができる。対称ニューラルネットワークの具体的な動作についての説明は韓国特許出願（１０−２０１５−１８３８９８）で代替する。
【０１６１】
プロセッサ１１０は、対称ニューラルネットワークの出力とコンボリューショナルニューラルネットワークに入力される入力との間の差に基づいて、コンボリューショナルニューラルネットワークの加重値パラメーターを更新することができる。例えば、プロセッサ１１０は、対称ニューラルネットワークの出力とコンボリューショナルニューラルネットワークに入力される入力との間の再構成エラー（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｅｒｒｏｒ）および平均二乗エラー（ｍｅａｎ  ｓｑｕａｒｅｄ  ｅｒｒｏｒ）のうち少なくとも一つに基づいて、費用関数を決定することができる。プロセッサ１１０は、前述した方式によって決定された費用関数を最小化する方向に加重値パラメーターを更新することができる。
【０１６２】
例示的に、プロセッサ１１０は非指導学習方式でＬＳＴＭ（ＧＲＵ）ニューラルネットワークをトレーニングすることができる。
【０１６３】
ＬＳＴＭ（ＧＲＵ）ニューラルネットワークがＬＳＴＭ（ＧＲＵ）エンコーダおよびＬＳＴＭ（ＧＲＵ）デコーダを含む場合、プロセッサ１１０はＬＳＴＭ（ＧＲＵ）エンコーダに入力される表現ベクトルらとＬＳＴＭ（ＧＲＵ）デコーダで出力される表現ベクトルとを比較することによって、費用関数を計算することができる。例えば、プロセッサ１１０は数学式１９を利用して費用関数を計算することができる。
【０１６４】
2019061647.tif 000043
【０１６５】
2019061647.tif 000044
【０１６６】
プロセッサ１１０は、数学式１９に示した費用関数Ｊ（θ）を最小化する方向にθに含まれた加重値パラメーターを更新することができる。
【０１６７】
以上、図１〜図１７と数学式１〜数学式１９を参照して本発明の実施例に係る異常セッション感知方法について説明した。前述した実施例によると、コンボリューショナルニューラルネットワークを利用してセッションに含まれたメッセージを低い次元の表現ベクトルに変換することができる。また、ＬＳＴＭまたはＧＲＵニューラルネットワークを利用してセッションに含まれた表現ベクトルシーケンスを分析し、これからセッションの異常可否を判断することができる。実施例によると、受動的な作業が介入されることなく人工ニューラルネットワークを利用してセッションの異常可否を容易に判断することができる。
【０１６８】
本発明の実施例に係る肩幅測定方法の動作は、コンピュータ読み取り可能記録媒体にコンピュータ読み取り可能プログラムまたはコードとして具現することが可能である。コンピュータ読み取り可能記録媒体はコンピュータシステムによって読み込まれ得るデータが保存されるすべての種類の記録装置を含む。また、コンピュータ読み取り可能記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて分散方式でコンピュータ読み取り可能プログラムまたはコードが保存され実行され得る。
【０１６９】
また、コンピュータ読み取り可能記録媒体は、ロム（ｒｏｍ）、ラム（ｒａｍ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）などのように、プログラム命令を保存して遂行するように特別に構成されたハードウェア装置を含むことができる。プログラム命令は、コンパイラ（ｃｏｍｐｉｌｅｒ）によって作られるような機械語コードだけでなく、インタープリタ（ｉｎｔｅｒｐｒｅｔｅｒ）などを使ってコンピュータによって実行され得る高級言語コードを含むことができる。
【０１７０】
方法段階の一部又は全部は例えば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のようなハードウェア装置によって（または利用して）遂行され得る。一部の実施例において、最も重要な方法段階の少なくとも一つはこのような装置によって遂行され得る。
【０１７１】
実施例において、プログラム可能なロジック装置（例えば、フィールドプログラマブルゲートアレイ）が、ここで説明された方法の機能の一部又は全部を遂行するために使われ得る。実施例において、フィールドプログラマブルゲートアレイは、ここで説明された方法のうち一つを遂行するためのマイクロプロセッサとともに作動することができる。一般に、方法は何らかのハードウェア装置によって遂行されることが好ましい。
【０１７２】
上記では本発明の好ましい実施例を参照して説明したが、該当技術分野の熟練した当業者は下記の特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更し得ることが理解できるであろう。
【図１】
2019061647.tif 000045
【図２】
2019061647.tif 000046
【図３】
2019061647.tif 000047
【図４】
2019061647.tif 000048
【図５】
2019061647.tif 000049
【図６】
2019061647.tif 000050
【図７】
2019061647.tif 000051
【図８】
2019061647.tif 000052
【図９】
2019061647.tif 000053
【図１０】
2019061647.tif 000054
【図１１】
2019061647.tif 000055
【図１２】
2019061647.tif 000056
【図１３】
2019061647.tif 000057
【図１４】
2019061647.tif 000058
【図１５】
2019061647.tif 000059
【図１６】
2019061647.tif 000060
【図１７】
2019061647.tif 000061