KR20240121445A - Apparatus and method for measuring user location based on a cnn model using markov transition field - Google Patents
Apparatus and method for measuring user location based on a cnn model using markov transition field Download PDFInfo
- Publication number
- KR20240121445A KR20240121445A KR1020230014080A KR20230014080A KR20240121445A KR 20240121445 A KR20240121445 A KR 20240121445A KR 1020230014080 A KR1020230014080 A KR 1020230014080A KR 20230014080 A KR20230014080 A KR 20230014080A KR 20240121445 A KR20240121445 A KR 20240121445A
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- data
- learning
- rssi
- time series
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0252—Radio frequency fingerprinting
- G01S5/02521—Radio frequency fingerprinting using a radio-map
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/84—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
Abstract
본 명세서는 컨벌루션 신경망 모델을 이용하여 사용자의 위치를 측정하기 위한 방법에 있어서, 복수의 액세스 포인트들로부터 무선 신호를 수신하는 단계; 상기 수신된 무선 신호의 RSSI를 측정하는 단계; 상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정하는 단계를 포함하는 것을 특징으로 한다.The present specification relates to a method for measuring a user's location using a convolutional neural network model, comprising: a step of receiving wireless signals from a plurality of access points; a step of measuring RSSI of the received wireless signals; and a step of measuring the user's location based on the RSSI of the measured wireless signals using a learned convolutional neural network model and a fingerprinting technique.
Description
본 명세서는 사용자의 위치를 측정하기 위한 방법에 관한 것으로, 보다 구체적으로 마르코프 전이 필드를 이용한 컨벌루션 신경망 모델 기반의 사용자 위치 측정 방법 및 이를 지원하기 위한 장치에 관한 것이다.The present specification relates to a method for measuring a user's location, and more specifically, to a method for measuring a user's location based on a convolutional neural network model using a Markov transfer field and a device for supporting the same.
최근 무선 통신 기술의 발전에 따라서 측위 기술에 대한 연구가 활발히 이루어지고 있다. 또한, IoT(Internet of Things) 서비스의 보편화에 따라 실내 공간에서 객체의 위치를 추정하는 실내 측위 기술의 중요성이 부각되고 있다. 측위 기술 중 가장 널리 사용되는 GPS(Global Positioning System)의 경우 실외 환경에서 위치를 측정하는 기술로, 실내에서는 장애물에 의해 GPS 신호가 간섭되거나 감쇠되어 수신에 어려움이 있어 측위 정확도가 낮다. 따라서, 실내 측위 기술의 정확성을 보장하기 위해 AoA(Angle of Arrival), ToA(Time of Arrival), TDoA(Time Difference of Arrival)과 같이 다양한 기술이 연구되었다. 이러한 전통적으로 알려진 실내 측위 알고리즘 방식들은 실내 정확성 측면에서 여전히 한계점이 존재한다.Recently, with the development of wireless communication technology, research on positioning technology has been actively conducted. In addition, with the popularization of IoT (Internet of Things) services, the importance of indoor positioning technology that estimates the location of objects in indoor spaces is being highlighted. Among positioning technologies, the most widely used GPS (Global Positioning System) is a technology that measures location in an outdoor environment. However, indoors, GPS signals are interfered with or attenuated by obstacles, making reception difficult, resulting in low positioning accuracy. Therefore, various technologies such as AoA (Angle of Arrival), ToA (Time of Arrival), and TDoA (Time Difference of Arrival) have been studied to ensure the accuracy of indoor positioning technology. These traditionally known indoor positioning algorithms still have limitations in terms of indoor accuracy.
전통적인 무선 실내 측위 방식의 한계점을 해결하기 위한 방안으로 주로 RSSI를 이미지 처리에 사용되는 인공 신경망인 CNN (Convolutional Neural Network) 기반 실내 측위 연구가 주목받고 있으며, 그 중에서도 BLE (Blue-Tooth Low Energy)의 RSSI (Received Signal Strength Indicator)를 인공 신경망 학습에 사용함으로써 우수한 성능을 보이고 있다. Wi-Fi와 BLE를 통한 핑거프린트 기반 실내 측위 기술은 저비용, 저전력, 스마트폰의 보급화라는 특징을 가지며 모바일 기기에서도 별도의 센서 없이 측위가 가능하다는 장점이 있다.To solve the limitations of traditional wireless indoor positioning methods, indoor positioning research based on CNN (Convolutional Neural Network), an artificial neural network mainly used for image processing, is receiving attention, and among them, excellent performance is being shown by using RSSI (Received Signal Strength Indicator) of BLE (Blue-Tooth Low Energy) for artificial neural network learning. Indoor positioning technology based on fingerprinting through Wi-Fi and BLE has the characteristics of low cost, low power, and popularization of smartphones, and has the advantage of being able to perform positioning without a separate sensor even on mobile devices.
그러나, RSSI는 주변 장애물 또는 다중 경로 효과에 의해 불안정한 값을 가져 수m의 오차를 가진다. 따라서 정확한 위치 추정이 어려운 경우가 존재한다.However, RSSI has an error of several meters due to unstable values caused by surrounding obstacles or multipath effects. Therefore, there are cases where it is difficult to estimate accurate location.
1차원 벡터인 시계열 데이터를 2차원 벡터의 이미지로 학습하기 위해서는 시계열 데이터가 갖는 시간 종속성 특징을 차원 변환 후에도 가지고 있어야 한다.In order to learn time series data, which is a one-dimensional vector, as a two-dimensional vector image, the time-dependent characteristics of the time series data must be maintained even after dimensional transformation.
1차원 벡터를 이어서 단순 2차원 벡터로 변환한다면 시간 종속성이 훼손되는 edge problem 문제가 발생할 수 있다. 이러한 단점을 보완하기 위해서 시계열 데이터를 이미지로 변환하는 MTF (Markov Transition Field)를 적용한 CNN 관련 연구가 진행되었는데, 실내 측위 기술에서 높은 정확도를 보이고 있다.If one-dimensional vectors are converted into simple two-dimensional vectors, an edge problem may occur where time dependency is damaged. To compensate for this shortcoming, research on CNNs that apply MTF (Markov Transition Field) to convert time series data into images has been conducted, and it is showing high accuracy in indoor positioning technology.
본 명세서는 기존의 RSSI 기반 핑거프린트 측위 기법의 단점을 보완하기 위해 시계열 데이터인 RSSI에 노이즈를 합성하여 생성된 MTF 데이터 생성 알고리즘과 해당 데이터로 학습된 딥러닝 실내 측위 모델을 제공함에 목적이 있다.The purpose of this specification is to provide an MTF data generation algorithm that synthesizes noise into RSSI, which is time-series data, to complement the shortcomings of existing RSSI-based fingerprint positioning techniques, and a deep learning indoor positioning model trained with the data.
또한, 본 명세서는 Indoor-unified-wifi-ds 데이터셋을 사용하여 모델 학습 및 성능 비교를 진행하고, 제안된 방법으로 훈련된 CNN 모델은 시계열 데이터와 노이즈를 합성하여 오프라인 테스트 환경에서 변동성을 가진 RSSI와 노이즈를 학습하는 방법을 제공함에 목적이 있다.In addition, this specification aims to provide a method for learning RSSI and noise with variability in an offline test environment by synthesizing time series data and noise with the proposed method, and to perform model learning and performance comparison using the Indoor-unified-wifi-ds dataset.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary skill in the technical field to which the present invention belongs from the description below.
본 명세서는 컨벌루션 신경망 모델을 이용하여 사용자의 위치를 측정하기 위한 방법에 있어서, 복수의 액세스 포인트(access point)들로부터 무선 신호를 수신하는 단계; 상기 수신된 무선 신호의 RSSI(Received Signal Strength Indication)를 측정하는 단계; 상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정하는 단계를 포함하되, 상기 컨벌루션 신경망 모델을 학습하는 단계는, 상기 측정된 무선 신호의 RSSI를 특정 시간 단위의 타입 슬롯으로 구분하는 전처리를 수행하는 단계; 상기 전처리된 RSSI에 랜덤 노이즈를 추가하여 1차원의 시계열 데이터를 생성하는 단계; 상기 1차원의 시계열 데이터에 마르코프 전이 필드(Markov Transition Field, MTF)를 적용하여 2차원의 이미지 데이터로 변환하는 단계; 및 상기 2차원의 이미지 데이터를 상기 컨벌루션 신경망 모델의 학습 데이터로 사용하는 단계를 포함하는 것을 특징으로 한다.The present specification relates to a method for measuring a user's location using a convolutional neural network model, comprising: a step of receiving a wireless signal from a plurality of access points; a step of measuring a Received Signal Strength Indication (RSSI) of the received wireless signal; a step of measuring the user's location based on the RSSI of the measured wireless signal using a learned convolutional neural network model and a fingerprinting technique, wherein the step of learning the convolutional neural network model comprises: a step of performing preprocessing to divide the RSSI of the measured wireless signal into type slots of a specific time unit; a step of adding random noise to the preprocessed RSSI to generate one-dimensional time series data; a step of applying a Markov Transition Field (MTF) to the one-dimensional time series data to convert it into two-dimensional image data; and a step of using the two-dimensional image data as learning data for the convolutional neural network model.
또한, 본 명세서서 상기 MTF를 적용하여 2차원의 이미지 데이터로 변환하는 단계는, 상기 1차원의 시계열 데이터를 특정 수(Q)의 시간 구간으로 나누는 단계; 특정 수(Q) x 특정 수(Q) 크기의 가중치 행렬을 구성하는 단계; 상기 구성된 가중치 행렬에서 각 열의 합을 1로 정규화하여 마르코프 전이 행렬(W)을 생성하는 단계; 및 상기 생성된 전이 행렬에 기초하여 마르코프 전이 필드(M)를 생성하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of converting into two-dimensional image data by applying the MTF in the present specification is characterized by including the steps of: dividing the one-dimensional time series data into a specific number (Q) of time intervals; constructing a weight matrix having a size of a specific number (Q) x a specific number (Q); generating a Markov transition matrix (W) by normalizing the sum of each column in the constructed weight matrix to 1; and generating a Markov transition field (M) based on the generated transition matrix.
또한, 본 명세서에서 상기 랜덤 노이즈는 가우시안(Gaussian) 노이즈인 것을 특징으로 한다.Additionally, in this specification, the random noise is characterized as being Gaussian noise.
또한, 본 명세서는 컨벌루션 신경망 모델을 이용하여 사용자의 위치를 측정하기 위한 단말에 있어서, 복수의 액세스 포인트(access point)들로부터 무선 신호를 수신하는 무선 통신부; 상기 컨벌루션 신경망 모델을 학습하는 AI 장치; 및 상기 무선 통신부 및 상기 AI 장치와 기능적으로 연결되며, 상기 단말의 전반적인 동작을 제어하는 프로세서를 포함하되, 상기 프로세서는, 상기 수신된 무선 신호의 RSSI(Received Signal Strength Indication)를 측정하며, 상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정하도록 제어하되, 상기 AI 장치는, 상기 측정된 무선 신호의 RSSI를 특정 시간 단위의 타입 슬롯으로 구분하는 전처리를 수행하며, 상기 전처리된 RSSI에 랜덤 노이즈를 추가하여 1차원의 시계열 데이터를 생성하며, 상기 1차원의 시계열 데이터에 마르코프 전이 필드(Markov Transition Field, MTF)를 적용하여 2차원의 이미지 데이터로 변환하며, 상기 2차원의 이미지 데이터를 상기 컨벌루션 신경망 모델의 학습 데이터로 사용하여 상기 컨벌루션 신경망 모델을 학습하는 것을 특징으로 한다.In addition, the present specification provides a terminal for measuring a user's location using a convolutional neural network model, comprising: a wireless communication unit for receiving wireless signals from a plurality of access points; an AI device for learning the convolutional neural network model; And a processor functionally connected to the wireless communication unit and the AI device, and controlling the overall operation of the terminal, wherein the processor measures the Received Signal Strength Indication (RSSI) of the received wireless signal, and controls the measured RSSI of the wireless signal to measure the location of the user based on a learned convolutional neural network model and a fingerprinting technique, wherein the AI device performs preprocessing to divide the RSSI of the measured wireless signal into type slots of specific time units, generates one-dimensional time series data by adding random noise to the preprocessed RSSI, converts the one-dimensional time series data into two-dimensional image data by applying a Markov Transition Field (MTF), and uses the two-dimensional image data as learning data of the convolutional neural network model to learn the convolutional neural network model.
본 명세서는 시계열 데이터인 RSSI 값을 MTF 변환을 통해 2차원 이미지 데이터로 변환하여 CNN 알고리즘을 통해 학습하여 핑거프린팅 기법을 적용함으로써 실내에서 사용자의 위치를 보다 정확하게 측정할 수 있는 효과가 있다.This specification has the effect of more accurately measuring the user's location indoors by converting RSSI values, which are time series data, into two-dimensional image data through MTF transformation, learning through a CNN algorithm, and applying a fingerprinting technique.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable from the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art to which the present invention pertains from the description below.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 명세서에서 제안하는 방법이 적용될 수 있는 퍼셉트론 구조의 일례를 나타낸 도이다.
도 2는 본 명세서에서 제안하는 방법이 적용될 수 있는 다층 퍼셉트론 구조의 일례를 나타낸 도이다.
도 3은 본 명세서에서 제안하는 방법이 적용될 수 있는 심층 신경망의 일례를 나타낸 도이다.
도 4는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망의 일례를 나타낸 도이다.
도 5는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망에서의 필터 연산의 일례를 나타낸 도이다.
도 6은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 루프가 존재하는 신경망 구조의 일례를 나타낸 도이다.
도 7은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 신경망의 동작 구조의 일례를 나타낸 도이다.
도 8은 본 발명이 적용될 수 있는 DNN 모델의 예시이다.
도 9는 본 발명의 일 실시예에 따른 AI 장치의 블록도이다.
도 10은 본 명세서에서 제안하는 노이즈 합성 MTF 모델 실험 시스템 설계도의 일례를 나타낸다.
도 11은 본 명세서에서 제안하는 방법이 적용될 수 있는 핑거프린팅 기반 실내 측위 방법의 일례를 나타낸 도이다.
도 12는 비콘 별 측정된 RSSI를 나타낸 도이다.
도 13은 AP 별 RSSI 값의 분포를 나타낸 도이다.
도 14 및 도 15는 본 명세서에서 제안하는 노이즈 합성 MTF 변환 이미지의 일례들을 나타낸 도이다.
도 16은 본 명세서에서 제안하는 마르코프 전이 필드 기반 CNN을 이용한 사용자의 위치를 측정하기 위한 단말의 동작 방법의 일례를 나타낸 순서도이다.
도 17은 본 명세서에서 제안하는 방법이 적용될 수 있는 단말을 설명하기 위한 내부 블록도이다.The accompanying drawings, which are incorporated in and are intended to aid in the understanding of the present invention and are intended to be a part of the detailed description, provide embodiments of the present invention and, together with the detailed description, serve to explain the technical features of the present invention.
Figure 1 is a diagram showing an example of a perceptron structure to which the method proposed in this specification can be applied.
Figure 2 is a diagram showing an example of a multilayer perceptron structure to which the method proposed in this specification can be applied.
Figure 3 is a diagram showing an example of a deep neural network to which the method proposed in this specification can be applied.
Figure 4 is a diagram showing an example of a convolutional neural network to which the method proposed in this specification can be applied.
Figure 5 is a diagram showing an example of a filter operation in a convolutional neural network to which the method proposed in this specification can be applied.
Figure 6 is a diagram showing an example of a neural network structure having a cyclic loop to which the method proposed in this specification can be applied.
Figure 7 is a diagram showing an example of the operational structure of a recurrent neural network to which the method proposed in this specification can be applied.
Figure 8 is an example of a DNN model to which the present invention can be applied.
Figure 9 is a block diagram of an AI device according to one embodiment of the present invention.
Figure 10 shows an example of a design diagram of a noise synthesis MTF model experimental system proposed in this specification.
FIG. 11 is a diagram showing an example of a fingerprinting-based indoor positioning method to which the method proposed in this specification can be applied.
Figure 12 is a diagram showing the RSSI measured for each beacon.
Figure 13 is a diagram showing the distribution of RSSI values by AP.
Figures 14 and 15 are diagrams showing examples of noise synthesis MTF conversion images proposed in this specification.
Fig. 16 is a flowchart showing an example of a terminal operation method for measuring a user's location using a Markov transition field-based CNN proposed in this specification.
Figure 17 is an internal block diagram illustrating a terminal to which the method proposed in this specification can be applied.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the scope of the technology disclosed in this specification. In addition, unless specifically defined otherwise in this specification, the technical terms used in this specification should be interpreted as having a meaning generally understood by a person having ordinary skill in the art to which the technology disclosed in this specification belongs, and should not be interpreted in an excessively comprehensive or excessively narrow sense. In addition, when a technical term used in this specification is an incorrect technical term that does not accurately express the scope of the technology disclosed in this specification, it should be replaced with a technical term that can be correctly understood by a person having ordinary skill in the art to which the technology disclosed in this specification belongs. In addition, general terms used in this specification should be interpreted as defined in the dictionary or according to the context, and should not be interpreted in an excessively narrow sense.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Terms including ordinal numbers such as first, second, etc. used in this specification may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings. Regardless of the drawing symbols, identical or similar components are given the same reference numerals and redundant descriptions thereof will be omitted.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, when describing the technology disclosed in this specification, if it is judged that a detailed description of a related known technology may obscure the gist of the technology disclosed in this specification, the detailed description thereof will be omitted. In addition, it should be noted that the attached drawings are only intended to facilitate easy understanding of the concept of the technology disclosed in this specification, and should not be construed as limiting the concept of the technology by the attached drawings.
인공 지능(Artificial Intelligence, AI)Artificial Intelligence (AI)
6G 시스템에 가장 중요하며, 새로 도입될 기술은 AI이다. 4G 시스템에는 AI가 관여하지 않았다. 5G 시스템은 부분 또는 매우 제한된 AI를 지원할 것이다. 그러나, 6G 시스템은 완전히 자동화를 위해 AI가 지원될 것이다. 머신 러닝의 발전은 6G 에서 실시간 통신을 위해 보다 지능적인 네트워크를 만들 것이다. 통신에 AI를 도입하면 실시간 데이터 전송이 간소화되고 향상될 수 있다. AI는 수많은 분석을 사용하여 복잡한 대상 작업이 수행되는 방식을 결정할 수 있다. 즉, AI는 효율성을 높이고 처리 지연을 줄일 수 있다.The most important and newly introduced technology in the 6G system is AI. The 4G system did not involve AI. The 5G system will support partial or very limited AI. However, the 6G system will be fully AI-supported for automation. Advances in machine learning will create more intelligent networks for real-time communications in 6G. Introducing AI in communications can simplify and improve real-time data transmission. AI can use a lot of analytics to determine how complex target tasks are performed. In other words, AI can increase efficiency and reduce processing delays.
AI는 M2M, 기계-대-인간 및 인간-대-기계 통신에서도 중요한 역할을 할 수 있다. 또한, AI는 BCI(Brain Computer Interface)에서 신속한 통신이 될 수 있다. AI 기반 통신 시스템은 메타 물질, 지능형 구조, 지능형 네트워크, 지능형 장치, 지능형 인지 라디오(radio), 자체 유지 무선 네트워크 및 머신 러닝에 의해 지원될 수 있다.AI can also play a significant role in M2M, machine-to-human, and human-to-machine communication. AI can also be a rapid communication in BCI (Brain Computer Interface). AI-based communication systems can be supported by metamaterials, intelligent structures, intelligent networks, intelligent devices, intelligent cognitive radio, self-sustaining wireless networks, and machine learning.
이하, 머신 러닝에 대해 보다 구체적으로 살펴본다.Below, we will look at machine learning in more detail.
머신 러닝은 사람이 할 수 있거나 혹은 하기 어려운 작업을 대신해낼 수 있는 기계를 만들어내기 위해 기계를 학습시키는 일련의 동작을 의미한다. 머신 러닝을 위해서는 데이터와 러닝 모델이 필요하다. 머신 러닝에서 데이터의 학습 방법은 크게 3가지 즉, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 그리고 강화 학습(reinforcement learning) 으로 구분될 수 있다.Machine learning is a series of operations that teach machines to create machines that can perform tasks that people can or cannot do. Machine learning requires data and a learning model. In machine learning, data learning methods can be broadly divided into three: supervised learning, unsupervised learning, and reinforcement learning.
신경망 학습은 출력의 오류를 최소화하기 위한 것이다. 신경망 학습은 반복적으로 학습 데이터를 신경망에 입력시키고 학습 데이터에 대한 신경망의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 신경망의 에러를 신경망의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 신경망의 각 노드의 가중치를 업데이트하는 과정이다.Neural network learning is to minimize the error of the output. Neural network learning is a process of repeatedly inputting learning data into the neural network, calculating the neural network output and target error for the learning data, and backpropagating the neural network error from the output layer of the neural network to the input layer in the direction of reducing the error, thereby updating the weights of each node of the neural network.
지도 학습은 학습 데이터에 정답이 라벨링된 학습 데이터를 사용하며 비지도 학습은 학습 데이터에 정답이 라벨링되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 지도 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링된 데이터 일 수 있다. 라벨링된 학습 데이터가 신경망에 입력되고 신경망의 출력(카테고리)과 학습 데이터의 라벨을 비교하여 오차(error)가 계산될 수 있다. 계산된 오차는 신경망에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 신경망의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learing rate) 에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 신경망의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 신경망의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 신경망의 학습 초기에는 높은 학습률을 사용하여 신경망이 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다Supervised learning uses training data with correct answers labeled in the training data, while unsupervised learning may not have correct answers labeled in the training data. That is, for example, in the case of supervised learning for data classification, the training data may be data in which each category is labeled in the training data. The labeled training data is input to the neural network, and the error can be calculated by comparing the output (category) of the neural network with the label of the training data. The calculated error is backpropagated in the neural network in the reverse direction (i.e., from the output layer to the input layer), and the connection weights of each node in each layer of the neural network can be updated according to the backpropagation. The amount of change in the connection weights of each node that is updated can be determined according to the learning rate. The neural network's calculation of the input data and the backpropagation of the error can constitute a learning cycle (epoch). The learning rate can be applied differently depending on the number of repetitions of the learning cycle of the neural network. For example, in the early stages of learning a neural network, a high learning rate can be used to allow the network to quickly achieve a certain level of performance, thereby increasing efficiency, while in the later stages of learning, a low learning rate can be used to increase accuracy.
데이터의 특징에 따라 학습 방법은 달라질 수 있다. 예를 들어, 통신 시스템 상에서 송신단에서 전송한 데이터를 수신단에서 정확하게 예측하는 것을 목적으로 하는 경우, 비지도 학습 또는 강화 학습 보다는 지도 학습을 이용하여 학습을 수행하는 것이 바람직하다.Depending on the characteristics of the data, the learning method may vary. For example, if the goal is to accurately predict data transmitted from the transmitter to the receiver in a communication system, it is preferable to perform learning using supervised learning rather than unsupervised learning or reinforcement learning.
러닝 모델은 인간의 뇌에 해당하는 것으로서, 가장 기본적인 선형 모델을 생각할 수 있으나, 인공 신경망(artificial neural networks)와 같은 복잡성이 높은 신경망 구조를 러닝 모델로 사용하는 머신 러닝의 패러다임을 딥러닝(deep learning)이라 한다.The learning model corresponds to the human brain, and the most basic linear model can be thought of, but the machine learning paradigm that uses highly complex neural network structures, such as artificial neural networks, as learning models is called deep learning.
학습(learning) 방식으로 사용하는 신경망 코어(neural network cord)는 크게 심층 신경망 (DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine) 방식이 있다.The neural network cores used in learning methods are largely divided into deep neural networks (DNNs), convolutional deep neural networks (CNNs), and recurrent boltzmann machines (RNNs).
인공 신경망(artificial neural network)은 여러 개의 퍼셉트론을 연결한 예시이다.An artificial neural network is an example of multiple perceptrons connected together.
도 1은 본 명세서에서 제안하는 방법이 적용될 수 있는 퍼셉트론 구조의 일례를 나타낸 도이다.Figure 1 is a diagram showing an example of a perceptron structure to which the method proposed in this specification can be applied.
도 1을 참조하면, 입력 벡터 x=(x1,x2, ...,xd)가 입력되면 각 성분에 가중치(W1,W2, ...,Wd)를 곱하고, 그 결과를 모두 합산한 후, 활성함수 σ(·)를 적용하는 전체 과정을 퍼셉트론(perceptron)이라 한다. 거대한 인공 신경망 구조는 도 1에 도시한 단순화된 퍼셉트론 구조를 확장하여 입력벡터를 서로 다른 다 차원의 퍼셉트론에 적용할 수도 있다. 설명의 편의를 위해 입력값 또는 출력값을 노드(node)라 칭한다.Referring to Fig. 1, when an input vector x=(x1,x2, ...,xd) is input, the entire process of multiplying each component by a weight (W1,W2, ...,Wd), adding up all the results, and then applying the activation function σ(·) is called a perceptron. A large-scale artificial neural network structure can extend the simplified perceptron structure illustrated in Fig. 1 to apply the input vector to perceptrons of different dimensions. For convenience of explanation, input values or output values are called nodes.
한편, 도 1에 도시된 퍼셉트론 구조는 입력값, 출력값을 기준으로 총 3개의 층(layer)로 구성되는 것으로 설명할 수 있다. 1st layer와 2nd layer 사이에는 (d+1) 차원의 퍼셉트론 H개, 2nd layer와 3rd layer 사이에는 (H+1)차원 퍼셉트론이 K 개 존재하는 인공신경망을 도 2와 같이 표현할 수 있다.Meanwhile, the perceptron structure illustrated in Fig. 1 can be explained as consisting of a total of three layers based on input and output values. An artificial neural network in which there are H perceptrons of (d+1) dimensions between the 1st layer and the 2nd layer, and K perceptrons of (H+1) dimensions between the 2nd layer and the 3rd layer can be expressed as in Fig. 2.
도 2는 본 명세서에서 제안하는 방법이 적용될 수 있는 다층 퍼셉트론 구조의 일례를 나타낸 도이다.Figure 2 is a diagram showing an example of a multilayer perceptron structure to which the method proposed in this specification can be applied.
입력벡터가 위치하는 층을 입력층(input layer), 최종 출력값이 위치하는 층을 출력층(output layer), 입력층과 출력층 사이에 위치하는 모든 층을 은닉층(hidden layer)라 한다. 도 2의 예시는 3개의 층이 개시되나, 실제 인공신경망 층의 개수를 카운트할 때는 입력층을 제외하고 카운트하므로 총 2개의 층으로 볼 수 있다. 인공신경망은 기본 블록의 퍼셉트론을 2차원적으로 연결되어 구성된다.The layer where the input vector is located is called the input layer, the layer where the final output value is located is called the output layer, and all layers located between the input layer and the output layer are called hidden layers. The example in Fig. 2 shows three layers, but when counting the number of actual artificial neural network layers, the input layer is excluded, so it can be viewed as a total of two layers. The artificial neural network is composed of perceptrons of basic blocks connected in two dimensions.
전술한 입력층, 은닉층, 출력층은 다층 퍼셉트론 뿐 아니라 후술할 CNN, RNN 등 다양한 인공신경망 구조에서 공동적으로 적용될 수 있다. 은닉층의 개수가 많아질수록 인공신경망이 깊어진 것이며, 충분히 깊어진 인공신경망을 러닝모델로 사용하는 머신러닝 패러다임을 딥러닝(Deep Learning)이라 한다. 또한 딥러닝을 위해 사용하는 인공신경망을 심층 신경망(DNN: Deep neural network)라 한다.The above-mentioned input layer, hidden layer, and output layer can be applied jointly not only to multilayer perceptron but also to various artificial neural network structures such as CNN and RNN, which will be described later. The more hidden layers there are, the deeper the artificial neural network becomes, and the machine learning paradigm that uses a sufficiently deep artificial neural network as a learning model is called deep learning. In addition, the artificial neural network used for deep learning is called a deep neural network (DNN: Deep neural network).
도 3은 본 명세서에서 제안하는 방법이 적용될 수 있는 심층 신경망의 일례를 나타낸 도이다.Figure 3 is a diagram showing an example of a deep neural network to which the method proposed in this specification can be applied.
도 3에 도시된 심층 신경망은 은닉층+출력층이 8개로 구성된 다층 퍼셉트론이다. 상기 다층 퍼셉트론 구조를 완전 연결 신경망(fully-connected neural network)이라 표현한다. 완전 연결 신경망은 서로 같은 층에 위치하는 노드 간에는 연결 관계가 존재하지 않으며, 인접한 층에 위치한 노드들 간에만 연결 관계가 존재한다. DNN은 완전 연결 신경망 구조를 가지고 다수의 은닉층과 활성함수들의 조합으로 구성되어 입력과 출력 사이의 상관관계 특성을 파악하는데 유용하게 적용될 수 있다. 여기서 상관관계 특성은 입출력의 결합확률(joint probability)을 의미할 수 있다.The deep neural network illustrated in Fig. 3 is a multilayer perceptron composed of eight hidden layers and eight output layers. The multilayer perceptron structure is expressed as a fully-connected neural network. In a fully-connected neural network, there is no connection relationship between nodes located in the same layer, and there is a connection relationship only between nodes located in adjacent layers. DNN has a fully-connected neural network structure and is composed of a combination of multiple hidden layers and activation functions, and can be usefully applied to identify correlation characteristics between inputs and outputs. Here, the correlation characteristic can mean the joint probability of inputs and outputs.
한편, 복수의 퍼셉트론을 서로 어떻게 연결하느냐에 따라 전술한 DNN과 다른 다양한 인공 신경망 구조를 형성할 수 있다.Meanwhile, depending on how multiple perceptrons are connected to each other, various artificial neural network structures different from the aforementioned DNN can be formed.
도 4는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망의 일례를 나타낸 도이다.Figure 4 is a diagram showing an example of a convolutional neural network to which the method proposed in this specification can be applied.
DNN은 하나의 층 내부에 위치한 노드들이 1차원적의 세로 방향으로 배치되어 있다. 그러나, 도 4는 노드들이 2차원적으로 가로 w개, 세로 h개의 노드가 배치할 경우를 가정할 수 있다(도 4의 컨볼루션 신경망 구조). 이 경우, 하나의 입력노드에서 은닉층으로 이어지는 연결과정에서 연결 하나당 가중치가 부가되므로 총 h×w 개의 가중치를 고려해야한다. 입력층에 h×w 개의 노드가 존재하므로 인접한 두 층 사이에는 총 h2w2 개의 가중치가 필요하다.In DNN, nodes located within a single layer are arranged in a one-dimensional vertical direction. However, Fig. 4 can assume a case where nodes are arranged two-dimensionally, with w nodes in width and h nodes in height (convolutional neural network structure of Fig. 4). In this case, since a weight is added to each connection in the connection process from one input node to the hidden layer, a total of h×w weights must be considered. Since there are h×w nodes in the input layer, a total of h2w2 weights are required between two adjacent layers.
도 4의 컨볼루션 신경망은 연결개수에 따라 가중치의 개수가 기하급수적으로 증가하는 문제가 있어 인접한 층 간의 모든 모드의 연결을 고려하는 대신, 크기가 작은 필터(filter)가 존재하는 것으로 가정하여 도 5에서와 같이 필터가 겹치는 부분에 대해서는 가중합 및 활성함수 연산을 수행하도록 한다.The convolutional neural network of Fig. 4 has a problem in that the number of weights increases exponentially according to the number of connections. Therefore, instead of considering the connections of all modes between adjacent layers, it assumes that there is a small filter, and performs weighted sum and activation function operations on the overlapping portions of the filters, as in Fig. 5.
도 5는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망에서의 필터 연산의 일례를 나타낸 도이다.Figure 5 is a diagram showing an example of a filter operation in a convolutional neural network to which the method proposed in this specification can be applied.
하나의 필터는 그 크기만큼의 개수에 해당하는 가중치를 가지며, 이미지상의 어느 특정한 특징을 요인으로 추출하여 출력할 수 있도록 가중치의 학습이 이루어질 수 있다. 도 5에서는 3×3 크기의 필터가 입력층의 가장 좌측 상단 3×3 영역에 적용되고, 해당 노드에 대한 가중합 및 활성함수 연산을 수행한 결과 출력값을 z22에 저장한다.One filter has a weight corresponding to the number of its size, and learning of the weight can be performed so that a specific feature on the image can be extracted as a factor and output. In Fig. 5, a 3×3 sized filter is applied to the 3×3 area at the upper left of the input layer, and the output value resulting from performing weighted sum and activation function operations on the corresponding node is stored in z22.
상기 필터는 입력층을 스캔하면서 가로, 세로 일정 간격 만큼 이동하면서 가중합 및 활성함수 연산을 수행하고 그 출력값을 현재 필터의 위치에 위치시킨다. 이러한 연산 방식은 컴퓨터 비전(computer vision) 분야에서 이미지에 대한 컨볼루션(convolution) 연산과 유사하여 이러한 구조의 심층 신경망을 컨볼루션 신경망(CNN: convolutional neural network)라 하고, 컨볼루션 연산 결과 생성되는 은닉층을 컨볼루션 층(convolutional layer)라 한다. 또한, 복수의 컨볼루션 층이 존재하는 신경망을 심층 컨볼루션 신경망(DCNN: Deep convolutional)이라 한다.The above filter performs weighted sum and activation function operations while moving a certain horizontal and vertical interval while scanning the input layer, and places the output value at the current filter position. This operation method is similar to the convolution operation for images in the field of computer vision, so a deep neural network with this structure is called a convolutional neural network (CNN), and the hidden layer generated as a result of the convolution operation is called a convolutional layer. In addition, a neural network with multiple convolutional layers is called a deep convolutional neural network (DCNN).
컨볼루션 층에서는 현재 필터가 위치한 노드에서, 상기 필터가 커버하는 영역에 위치한 노드만을 포괄하여 가중합을 계산함으로써, 가중치의 개수를 줄여줄 수 있다. 이로 인해, 하나의 필터가 로컬(local) 영역에 대한 특징에 집중하도록 이용될 수 있다. 이에 따라 CNN은 2차원 영역 상의 물리적 거리가 중요한 판단 기준이 되는 이미지 데이터 처리에 효과적으로 적용될 수 있다. 한편, CNN은 컨볼루션 층의 직전에 복수의 필터가 적용될 수 있으며, 각 필터의 컨볼루션 연산을 통해 복수의 출력 결과를 생성할 수도 있다.In the convolution layer, the number of weights can be reduced by calculating the weighted sum by including only the nodes located in the area covered by the filter at the node where the current filter is located. As a result, one filter can be used to focus on features for a local area. Accordingly, CNN can be effectively applied to image data processing where physical distance in a two-dimensional area is an important judgment criterion. Meanwhile, CNN can apply multiple filters immediately before the convolution layer, and can also generate multiple output results through the convolution operation of each filter.
한편, 데이터 속성에 따라 시퀀스(sequence) 특성이 중요한 데이터들이 있을 수 있다. 이러한 시퀀스 데이터들의 길이 가변성, 선후 관계를 고려하여 데이터 시퀀스 상의 원소를 매 시점(timestep) 마다 하나씩 입력하고, 특정 시점에 출력된 은닉층의 출력 벡터(은닉 벡터)를, 시퀀스 상의 바로 다음 원소와 함께 입력하는 방식을 인공 신경망에 적용한 구조를 순환 신경망 구조라 한다.On the other hand, there may be data for which sequence characteristics are important depending on the data properties. Considering the length variability and chronological relationship of these sequence data, the structure that applies the method of inputting one element of the data sequence at each time step and inputting the output vector (hidden vector) of the hidden layer output at a specific time together with the next element in the sequence to an artificial neural network is called a recurrent neural network structure.
도 6은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 루프가 존재하는 신경망 구조의 일례를 나타낸 도이다.Figure 6 is a diagram showing an example of a neural network structure having a cyclic loop to which the method proposed in this specification can be applied.
도 6을 참조하면, 순환 신경망(RNN: recurrent neural netwok)은 데이터 시퀀스 상의 어느 시선 t의 원소(x1(t), x2(t), ,..., xd(t))를 완전 연결 신경망에 입력하는 과정에서, 바로 이전 시점 t-1은 은닉 벡터(z1(t-1), z2(t-1), ..., zH(t-1))을 함께 입력하여 가중합 및 활성함수를 적용하는 구조이다. 이와 같이 은닉 벡터를 다음 시점으로 전달하는 이유는 앞선 시점들에서의 입력 벡터속 정보들이 현재 시점의 은닉 벡터에 누적된 것으로 간주하기 때문이다.Referring to Fig. 6, a recurrent neural network (RNN) is a structure that inputs elements (x1(t), x2(t), , ..., xd(t)) of a certain time point t in a data sequence into a fully connected neural network, and applies a weighted sum and an activation function along with the hidden vector (z1(t-1), z2(t-1), ..., zH(t-1)) of the immediately previous time point t-1. The reason for transmitting the hidden vector to the next time point in this way is because the information in the input vectors of the previous time points is considered to be accumulated in the hidden vector of the current time point.
도 7은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 신경망의 동작 구조의 일례를 나타낸 도이다.Figure 7 is a diagram showing an example of the operational structure of a recurrent neural network to which the method proposed in this specification can be applied.
도 7을 참조하면, 순환 신경망은 입력되는 데이터 시퀀스에 대하여 소정의 시점 순서대로 동작한다.Referring to Figure 7, the recurrent neural network operates in a predetermined time order with respect to the input data sequence.
시점 1에서의 입력 벡터 (x1(t), x2(t), ,..., xd(t))가 순환 신경망에 입력되었을 때의 은닉 벡터 (z1(1),z2(1), ..., zH(1))가 시점 2의 입력 벡터 (x1(2), x2(2), ..., xd(2))와 함께 입력되어 가중합 및 활성 함수를 통해 은닉층의 벡터 (z1(2), z2(2) ,..., zH(2))를 결정한다. 이러한 과정은 시점 2, 시점 3, ,,, 시점 T 까지 반복적으로 수행된다.When the input vector (x1(t), x2(t), ,..., xd(t)) at time point 1 is input to the recurrent neural network, the hidden vector (z1(1), z2(1), ..., zH(1)) is input together with the input vector (x1(2), x2(2), ..., xd(2)) at time point 2, and the hidden layer vector (z1(2), z2(2), ..., zH(2)) is determined through the weighted sum and activation function. This process is repeatedly performed until time points 2, 3, ,,, and T.
한편, 순환 신경망 내에서 복수의 은닉층이 배치될 경우, 이를 심층 순환 신경망(DRNN: Deep recurrent neural network)라 한다. 순환 신경망은 시퀀스 데이터(예를 들어, 자연어 처리(natural language processing)에 유용하게 적용되도록 설계되어 있다.Meanwhile, when multiple hidden layers are arranged in a recurrent neural network, it is called a deep recurrent neural network (DRNN). Recurrent neural networks are designed to be usefully applied to sequence data (e.g. natural language processing).
학습(learning) 방식으로 사용하는 신경망 코어로서 DNN, CNN, RNN 외에 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 음성/신호처리 등의 분야에 적용될 수 있다.It is a neural network core used in a learning manner, and includes various deep learning techniques such as DNN, CNN, RNN, Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), and Deep Q-Network, and can be applied to fields such as computer vision, speech recognition, natural language processing, and speech/signal processing.
최근에는 AI를 무선 통신 시스템과 통합하려고 하는 시도들이 나타나고 있으나, 이는 application layer, network layer 특히, 딥러닝을 wireless resource management and allocation 분야에 집중되어 왔다. 그러나, 이러한 연구는 점점 MAC layer 와 Physical layer로 발전하고 있으며, 특히 물리계층에서 딥러닝을 무선 전송(wireless transmission)과 결합하고자 하는 시도들이 나타나고 있다. AI 기반의 물리계층 전송은, 근본적인 신호 처리 및 통신 메커니즘에 있어서, 전통적인 통신 프레임워크가 아니라 AI 드라이버에 기초한 신호 처리 및 통신 메커니즘을 적용하는 것을 의미한다. 예를 들어, 딥러닝 기반의 채널 코딩 및 디코딩(channel coding and decoding), 딥러닝 기반의 신호 추정(estimation) 및 검출(detection), 딥러닝 기반의 MIMO mechanism, AI 기반의 자원 스케줄링(scheduling) 및 할당(allocation) 등을 포함할 수 있다.Recently, there have been attempts to integrate AI with wireless communication systems, but these have been focused on the application layer, network layer, and especially deep learning in the field of wireless resource management and allocation. However, these studies are gradually developing into the MAC layer and the Physical layer, and in particular, there are attempts to combine deep learning with wireless transmission in the Physical layer. AI-based physical layer transmission means applying signal processing and communication mechanisms based on AI drivers, rather than traditional communication frameworks, in terms of fundamental signal processing and communication mechanisms. For example, it can include deep learning-based channel coding and decoding, deep learning-based signal estimation and detection, deep learning-based MIMO mechanism, and AI-based resource scheduling and allocation.
DNN(Deep Neural Network) 모델DNN(Deep Neural Network) Model
도 8은 본 발명이 적용될 수 있는 DNN 모델의 예시이다.Figure 8 is an example of a DNN model to which the present invention can be applied.
심층 신경망(Deep Neural Network, DNN)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이루어진 인공신경망(Artificial Neural Network, ANN)이다. 심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다.A deep neural network (DNN) is an artificial neural network (ANN) that consists of multiple hidden layers between the input layer and the output layer. Like a typical artificial neural network, a deep neural network can model complex non-linear relationships.
예를 들어, 사물 식별 모델을 위한 심층 신경망 구조에서는 각 객체가 이미지 기본 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모여진 하위 계층들의 특징들을 규합시킬 수 있다. 심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해준다.For example, in a deep neural network structure for an object identification model, each object can be represented as a hierarchical composition of image basic elements. At this time, additional layers can gradually combine the features of the lower layers. This feature of deep neural networks allows modeling of complex data with a smaller number of units (nodes) compared to similarly performed artificial neural networks.
은닉층의 개수가 많아질수록 인공신경망이 '깊어졌다(deep)'고 부르며, 이렇게 충분히 깊어진 인공신경망을 러닝 모델로 사용하는 머신러닝 패러다임을 바로 딥러닝(Deep Learning)이라고 한다. 그리고, 이러한 딥러닝을 위해 사용하는 충분히 깊은 인공신경망이 심층 신경망(DNN: Deep neural network)이라고 통칭된다.As the number of hidden layers increases, the artificial neural network is said to be 'deep', and the machine learning paradigm that uses such a sufficiently deep artificial neural network as a learning model is called deep learning. And, the sufficiently deep artificial neural network used for such deep learning is collectively called a deep neural network (DNN: Deep neural network).
본 발명에서 DNN의 입력층에 POI 데이터 생성 모델을 학습시키기 위해 요구되는 데이터들이 입력될 수 있고, 이들은 은닉층들을 거치면서, 사용자가 사용할 수 있는 의미있는 데이터가 출력층을 통해 생성될 수 있다.In the present invention, data required to train a POI data generation model can be input into the input layer of the DNN, and while passing through hidden layers, meaningful data that can be used by a user can be generated through the output layer.
본 발명의 명세서 상에서는 이러한 딥러닝 방식을 위해 사용되는 인공신경망을 DNN으로 통칭하고 있으나, 이와 유사한 방식으로 의미있는 데이터를 출력할 수 있다면, 다른 방식의 딥러닝 방식이 적용될 수 있음은 물론이다.In the specification of the present invention, the artificial neural network used for this deep learning method is collectively referred to as DNN, but it is obvious that other deep learning methods can be applied if they can output meaningful data in a similar manner.
AI 장치 블록도AI device block diagram
도 9는 본 발명의 일 실시예에 따른 AI 장치의 블록도이다.Figure 9 is a block diagram of an AI device according to one embodiment of the present invention.
상기 AI 장치(20)는 AI 프로세싱을 수행할 수 있는 AI 모듈을 포함하는 전자 기기 또는 상기 AI 모듈을 포함하는 서버 등을 포함할 수 있다. 또한, 상기 AI 장치(20)는 전자기기의 적어도 일부의 구성으로 포함되어 AI 프로세싱 중 적어도 일부를 함께 수행하도록 구비될 수도 있다.The AI device (20) may include an electronic device including an AI module capable of performing AI processing, or a server including the AI module. In addition, the AI device (20) may be included as a component of at least a portion of the electronic device and may be provided to perform at least a portion of the AI processing.
상기 AI 장치(20)는 AI 프로세서(21), 메모리(25) 및/또는 통신부(27)를 포함할 수 있다.The above AI device (20) may include an AI processor (21), a memory (25) and/or a communication unit (27).
상기 AI 장치(20)는 신경망을 학습할 수 있는 컴퓨팅 장치로서, 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.The above AI device (20) is a computing device capable of learning a neural network and can be implemented as various electronic devices such as a server, desktop PC, notebook PC, tablet PC, etc.
AI 프로세서(21)는 메모리(25)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, AI 프로세서(21)는 영상 관련 데이터를 인식하기 위한 신경망을 학습할 수 있다. 여기서, 영상 관련 데이터를 인식하기 위한 신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 모드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고받을 수 있다. 여기서 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크 (Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 음성/신호처리 등의 분야에 적용될 수 있다.The AI processor (21) can learn a neural network using a program stored in the memory (25). In particular, the AI processor (21) can learn a neural network for recognizing image-related data. Here, the neural network for recognizing image-related data can be designed to simulate the human brain structure on a computer, and can include a plurality of network nodes having weights that simulate neurons of a human neural network. The plurality of network modes can each exchange data according to a connection relationship so as to simulate the synaptic activity of neurons in which neurons exchange signals through synapses. Here, the neural network can include a deep learning model developed from a neural network model. In the deep learning model, a plurality of network nodes can be located in different layers and exchange data according to a convolution connection relationship. Examples of neural network models include various deep learning techniques such as deep neural networks (DNNs), convolutional deep neural networks (CNNs), recurrent Boltzmann machines (RNNs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), and deep Q-networks, which can be applied to fields such as computer vision, speech recognition, natural language processing, and speech/signal processing.
한편, 전술한 바와 같은 기능을 수행하는 프로세서는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU) 일 수 있다.Meanwhile, the processor performing the function as described above may be a general-purpose processor (e.g., CPU), but may be an AI-specific processor for artificial intelligence learning (e.g., GPU).
메모리(25)는 AI 장치(20)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(25)는 비 휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD) 등으로 구현할 수 있다. 메모리(25)는 AI 프로세서(21)에 의해 액세스되며, AI 프로세서(21)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(25)는 본 발명의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 딥러닝 모델(26))을 저장할 수 있다.The memory (25) can store various programs and data required for the operation of the AI device (20). The memory (25) can be implemented as a non-volatile memory, a volatile memory, a flash memory, a hard disk drive (HDD), a solid state drive (SDD), etc. The memory (25) is accessed by the AI processor (21), and data reading/recording/modifying/deleting/updating, etc. can be performed by the AI processor (21). In addition, the memory (25) can store a neural network model (e.g., a deep learning model (26)) generated through a learning algorithm for data classification/recognition according to one embodiment of the present invention.
한편, AI 프로세서(21)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부(22)를 포함할 수 있다. 데이터 학습부(22)는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(22)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다.Meanwhile, the AI processor (21) may include a data learning unit (22) that learns a neural network for data classification/recognition. The data learning unit (22) may learn criteria regarding which learning data to use to determine data classification/recognition and how to classify and recognize data using the learning data. The data learning unit (22) may acquire learning data to be used for learning and learn a deep learning model by applying the acquired learning data to the deep learning model.
데이터 학습부(22)는 적어도 하나의 하드웨어 칩 형태로 제작되어 AI 장치(20)에 탑재될 수 있다. 예를 들어, 데이터 학습부(22)는 인공지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 범용 프로세서(CPU) 또는 그래픽 전용 프로세서(GPU)의 일부로 제작되어 AI 장치(20)에 탑재될 수도 있다. 또한, 데이터 학습부(22)는 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(또는 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록 매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 애플리케이션에 의해 제공될 수 있다.The data learning unit (22) may be manufactured in the form of at least one hardware chip and mounted on the AI device (20). For example, the data learning unit (22) may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as a part of a general-purpose processor (CPU) or a graphics processor (GPU) and mounted on the AI device (20). In addition, the data learning unit (22) may be implemented as a software module. When implemented as a software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable media that can be read by a computer. In this case, at least one software module may be provided by an OS (Operating System) or provided by an application.
데이터 학습부(22)는 학습 데이터 획득부(23) 및 모델 학습부(24)를 포함할 수 있다.The data learning unit (22) may include a learning data acquisition unit (23) and a model learning unit (24).
학습 데이터 획득부(23)는 데이터를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 예를 들어, 학습 데이터 획득부(23)는 학습 데이터로서, 신경망 모델에 입력하기 위한 원본 데이터 및/또는 샘플 데이터를 획득할 수 있다.The learning data acquisition unit (23) can acquire learning data required for a neural network model for classifying and recognizing data. For example, the learning data acquisition unit (23) can acquire original data and/or sample data for input into a neural network model as learning data.
모델 학습부(24)는 상기 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류할지에 관한 판단 기준을 가지도록 학습할 수 있다. 이 때 모델 학습부(24)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또는 모델 학습부(24)는 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통해 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하여 강화 학습(reinforcement learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 신경망 모델을 학습시킬 수 있다.The model learning unit (24) can learn to have a judgment criterion on how to classify a given data using the acquired learning data. At this time, the model learning unit (24) can learn the neural network model through supervised learning that uses at least some of the learning data as a judgment criterion. Alternatively, the model learning unit (24) can learn the neural network model through unsupervised learning that discovers a judgment criterion by learning on its own using the learning data without guidance. In addition, the model learning unit (24) can learn the neural network model through reinforcement learning using feedback on whether the result of the situation judgment according to the learning is correct. In addition, the model learning unit (24) can learn the neural network model using a learning algorithm including error back-propagation or gradient descent.
신경망 모델이 학습되면, 모델 학습부(24)는 학습된 신경망 모델을 메모리에 저장할 수 있다. 모델 학습부(24)는 학습된 신경망 모델을 AI 장치(20)와 유선 또는 무선 네트워크로 연결된 서버의 메모리에 저장할 수도 있다.Once the neural network model is learned, the model learning unit (24) can store the learned neural network model in memory. The model learning unit (24) can also store the learned neural network model in the memory of a server connected to the AI device (20) via a wired or wireless network.
데이터 학습부(22)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 리소스 또는 시간을 절약하기 위해 학습 데이터 전처리부(미도시) 및 학습 데이터 선택부(미도시)를 더 포함할 수도 있다.The data learning unit (22) may further include a learning data preprocessing unit (not shown) and a learning data selection unit (not shown) to improve the analysis results of the recognition model or to save resources or time required for creating the recognition model.
학습 데이터 전처리부는 획득된 데이터가 상황 판단을 위한 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 예를 들어, 학습 데이터 전처리부는, 모델 학습부(24)가 영상 인식을 위한 학습을 위하여 획득된 학습 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.The learning data preprocessing unit can preprocess the acquired data so that the acquired data can be used for learning for situation judgment. For example, the learning data preprocessing unit can process the acquired data into a preset format so that the model learning unit (24) can use the acquired learning data for learning for image recognition.
또한, 학습 데이터 선택부는, 학습 데이터 획득부(23)에서 획득된 학습 데이터 또는 전처리부에서 전처리된 학습 데이터 중 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(24)에 제공될 수 있다. 예를 들어, 학습 데이터 선택부는, 획득한 영상 중 특정 영역을 검출함으로써, 특정 영역에 포함된 객체에 대한 데이터만을 학습 데이터로 선택할 수 있다.In addition, the learning data selection unit can select data required for learning from among the learning data acquired from the learning data acquisition unit (23) or the learning data preprocessed from the preprocessing unit. The selected learning data can be provided to the model learning unit (24). For example, the learning data selection unit can select only data for objects included in a specific area as learning data by detecting a specific area from the acquired image.
또한, 데이터 학습부(22)는 신경망 모델의 분석 결과를 향상시키기 위하여 모델 평가부(미도시)를 더 포함할 수도 있다.In addition, the data learning unit (22) may further include a model evaluation unit (not shown) to improve the analysis results of the neural network model.
모델 평가부는, 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(22)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다. 일 예로, 모델 평가부는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우, 소정 기준을 만족하지 못한 것으로 평가할 수 있다.The model evaluation unit inputs evaluation data into the neural network model, and if the analysis result output from the evaluation data does not satisfy a predetermined criterion, it can cause the model learning unit (22) to learn again. In this case, the evaluation data may be predefined data for evaluating the recognition model. For example, the model evaluation unit can evaluate that the predetermined criterion is not satisfied if the number or ratio of evaluation data for which the analysis result of the learned recognition model for the evaluation data is inaccurate exceeds a preset threshold.
통신부(27)는 AI 프로세서(21)에 의한 AI 프로세싱 결과를 외부 전자 기기로 전송할 수 있다.The communication unit (27) can transmit the AI processing result by the AI processor (21) to an external electronic device.
여기서 외부 전자 기기는 AI 장치와 유/무선으로 통신할수 있는 디바이스로, 후술할 방송 장치, 시청자 장치를 포함할 수 있다. 이 경우, 상기 AI 장치는 관리자 장치에 구현될 수 있다.Here, the external electronic device is a device that can communicate with the AI device via wired/wireless communication, and may include a broadcasting device or a viewer device, which will be described later. In this case, the AI device may be implemented in the administrator device.
한편, 도 8에 도시된 AI 장치(20)는 AI 프로세서(21)와 메모리(25), 통신부(27) 등으로 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈로 호칭될 수도 있음을 밝혀 둔다.Meanwhile, the AI device (20) illustrated in Fig. 8 is described as being functionally divided into an AI processor (21), memory (25), and communication unit (27), but it should be noted that the aforementioned components may be integrated into one module and referred to as an AI module.
또한, 앞서 살핀 도 1 내지 도 9에 설명된 내용은 후술할 본 명세서에서 제안하는 방법과 결합되어 다양한 실시 예들로 구현될 수 있다.In addition, the contents described in FIGS. 1 to 9 discussed above can be implemented in various embodiments by combining with the method proposed in the present specification described below.
이하, 본 명세서에서 제안하는 시각화된 마르코프 전이 필드(Markov Transition Field, MTF) 이미지를 학습하는 CNN 모델을 통해 BLE RSSI 기반 핑거프린트 방식의 실내 측위 방법에 대해 살펴보기로 한다.In the following, we will examine an indoor positioning method based on BLE RSSI fingerprinting using a CNN model that learns visualized Markov Transition Field (MTF) images proposed in this specification.
먼저, RSSI 기반 핑거프린트 방식의 실내 측위 기술은 도 10과 같이 (1) RSSI 신호 수집(오프라인 단계)과 (2) 위치 추정(온라인 단계)의 두 단계로 나뉠 수 있다. 도 10은 본 명세서에서 제안하는 노이즈 합성 MTF 모델 실험 시스템 설계도의 일례를 나타낸다.First, the indoor positioning technology based on RSSI fingerprinting can be divided into two stages: (1) RSSI signal collection (offline stage) and (2) position estimation (online stage), as shown in Fig. 10. Fig. 10 shows an example of a design diagram of a noise synthesis MTF model experiment system proposed in this specification.
도 10을 참고하면, RSSI 신호 수집 단계에서는 각 AP로부터 RSSI를 수집하여 라디오 맵(radio map)을 구축한다. 그리고, 위치 추정 단계에서는 실제 측정된 RSSI를 바탕으로 사용자의 위치를 추정한다.Referring to Figure 10, in the RSSI signal collection step, RSSI is collected from each AP to build a radio map. Then, in the location estimation step, the user's location is estimated based on the actually measured RSSI.
RSSI와 핑거프린트 기반 실내 측위 방법에 대해 간략히 살펴보고, 본 명세서에서 제안하는 마르코프 전이 필드 기반 실내 측위 방법에 대해 구체적으로 살펴본다.We briefly review RSSI and fingerprint-based indoor positioning methods, and then specifically review the Markov transition field-based indoor positioning method proposed in this specification.
RSSI는 복잡한 실내 공간에 따라 매우 다른 특성을 가진다. 건물의 구조물, 재질에 의한 반사, 간섭, 신호 감쇠 현상으로 인해 노이즈가 발생한다.RSSI has very different characteristics depending on the complex indoor space. Noise occurs due to reflections, interference, and signal attenuation caused by the structure and materials of the building.
대부분의 실내 측위 기술은 변동성이 있는 이러한 노이즈를 제거하기 위해 칼만 필터링과 같은 노이즈 필터링 과정을 통해 안정적인 RSSI를 가진다.Most indoor positioning technologies have a stable RSSI through a noise filtering process such as Kalman filtering to remove this fluctuating noise.
그러나, RSSI는 시간, 온도, 습도 등 측정 환경 변화에 따라서 쉽게 변하기 때문에 RSSI 값이 변할 경우 측위 정확도가 떨어질 수 있다. 노이즈 합성은 시계열 데이터 증강 기법 중 하나로, 전처리된 RSSI에 노이즈를 합성하여 주변 환경 변화에 더욱 강한 RSSI를 학습 데이터로 생성할 수 있다.However, since RSSI easily changes depending on changes in the measurement environment such as time, temperature, and humidity, positioning accuracy may decrease when RSSI values change. Noise synthesis is one of the time series data augmentation techniques, and by synthesizing noise into preprocessed RSSI, RSSI that is more robust to changes in the surrounding environment can be generated as learning data.
따라서, 본 명세서는 RSSI를 강화하기 위한 방안으로 노이즈 합성을 적용하고, 이를 MTF로 변환하는 과정을 수행한다.Therefore, this specification applies noise synthesis as a means to enhance RSSI and performs a process of converting it into MTF.
도 11은 본 명세서에서 제안하는 방법이 적용될 수 있는 핑거프린팅 기반 실내 측위 방법의 일례를 나타낸 도이다.FIG. 11 is a diagram showing an example of a fingerprinting-based indoor positioning method to which the method proposed in this specification can be applied.
다음으로, 본 명세서에서 제안하는 시계열 데이터를 이미지화하기 위한 알고리즘에 대해 살펴본다.Next, we examine the algorithm proposed in this specification for imaging time series data.
1차원 시계열 데이터를 CNN의 입력으로 사용하기 위해서는 2차원의 이미지 데이터로의 변환이 필요하다. 1차원 시계열 데이터를 이미지화 하는 알고리즘에는 RP(Recurrence Plot), GAF(Gramian Anguler Field), 마르코프 전이 필드(MTF) 등이 사용된다. RP는 시계열 데이터를 m차원의 공간 궤적으로 표현하고, 각 공간 궤적에 위치한 점 간의 거리를 이미지화하는 알고리즘이다. 임계값과 시계열 데이터 값을 비교하여 시계열 데이터 값이 임계값보다 작거나 같으면 1, 크면 0으로 표현된다. 따라서, 상기 임계값을 적절히 조정하지 않으면 시계열 데이터를 시간 종속성을 가진 이미지로 변환할 수 없게 된다. 여기서, ε은 임계값이며, 점(i,j)의 RP는 아래 수학식 1과 같은 식으로 나타낼 수 있다.In order to use one-dimensional time series data as input to CNN, it needs to be converted into two-dimensional image data. Algorithms for visualizing one-dimensional time series data include Recurrence Plot (RP), Gramian Anguler Field (GAF), and Markov Transfer Field (MTF). RP is an algorithm that expresses time series data as an m-dimensional spatial trajectory and visualizes the distance between points located on each spatial trajectory. It compares a threshold value and the time series data value, and if the time series data value is less than or equal to the threshold value, it is expressed as 1, and if it is greater than the threshold value, it is expressed as 0. Therefore, if the threshold value is not appropriately adjusted, the time series data cannot be converted into an image with temporal dependence. Here, ε is a threshold value, and the RP of point (i, j) can be expressed by the following mathematical expression 1.
GAF는 시계열 데이터를 기존 데카르트 좌표계를 사용하는 대신 극좌표계의 값으로 변환시켜 비-데카르트 좌표계를 사용하는 알고리즘이다. 시계열 데이터의 극좌표계 각도의 합 또는 차를 이용해 이미지화 한다. 시계열 데이터를 GAF로 변환시킨 후의 이미지는 다시 시계열 데이터로 되돌릴 수 없으며, 이는 시계열 정보의 손실을 유발할 수 있다.GAF is an algorithm that uses a non-Cartesian coordinate system by converting time series data into polar coordinate values instead of using the existing Cartesian coordinate system. It uses the sum or difference of the polar coordinate angles of time series data to create an image. The image after converting time series data to GAF cannot be converted back to time series data, which can cause loss of time series information.
이미지화 알고리즘을 적용하여 CNN 이상치 감지 학습을 비교한 자료에 따르면, 세 가지 이미지화 알고리즘 중에서 마르코프 전이 필드의 F1 score와 True Positive Rate(TPR)이 가장 높게 측정된 것을 알 수 있다. 이는 시계열 데이터의 특성에 따라 차이가 존재할 수 있지만, 세 알고리즘 중 마르코프 전이 필드가 가장 우수한 성능을 보여 이미지 변환 방식에 적합하다고 볼 수 있다.According to the data comparing CNN outlier detection learning by applying imaging algorithms, it can be seen that among the three imaging algorithms, the F1 score and True Positive Rate (TPR) of Markov Transition Field were measured to be the highest. This may differ depending on the characteristics of time series data, but among the three algorithms, Markov Transition Field showed the best performance, so it can be considered suitable for the image transformation method.
마르코프 전이 필드는 이산화된 시계열 데이터의 전이 확률 필드를 나타낸다. 1차원 시계열 데이터 X를 Q개의 구간으로 나누고, 시간 축을 따라서 Q×Q 크기의 가중치 행렬 W'를 구성한다. W'에서 각 열(구간)의 합을 1로 정규화함으로써 마르코프 전이 행렬 W를 아래 수학식 2와 같이 생성한다.Markov transition field represents the transition probability field of discretized time series data. One-dimensional time series data X is divided into Q intervals, and a weight matrix W' of size Q×Q is constructed along the time axis. By normalizing the sum of each column (interval) in W' to 1, the Markov transition matrix W is generated as shown in the following mathematical expression 2.
마르코프 전이 행렬은 타임스탬프 ti의 시계열 데이터 xi 에 해당하는 구간인 qj {1<j<Q}의 빈도를 나타낸다.The Markov transition matrix represents the frequency of the interval qj {1<j<Q} corresponding to the time series data xi at timestamp ti.
이때, W는 기존 시계열 데이터인 X의 분포와 시간 종속성이 손실된다.At this time, W loses the distribution and temporal dependency of X, which is the original time series data.
시간 영역에서 정보를 보존하기 위해 각 확률을 시간 순서에 따라 정렬하여 마르코프 전이 필드로 변환할 수 있다. 아래 수학식 3은 마르코프 전이 필드 M을 나타낸다. M의 i행 j열 값인 Mij는 타임스탬프 ti일 때 데이터가 속한 구간인 qi에서 타임스탬프 tj일 때 데이터가 속한 구간인 qj로의 전이 확률을 의미한다.In order to preserve information in the time domain, each probability can be sorted in time order and transformed into a Markov transition field. Mathematical expression 3 below represents the Markov transition field M. Mij, the value of row i and column j of M, represents the transition probability from qi, the interval to which data belongs when timestamp ti, to qj, the interval to which data belongs when timestamp tj.
다음으로, 본 명세서에서 제안하는 마르코프 전이 필드 기반 실내 측위 모델에 대해 살펴본다.Next, we examine the Markov transition field-based indoor positioning model proposed in this specification.
실험 환경은 실내 특정 공간에서 진행된다. 복수의 비콘들로부터 수집된 RSSI는 결측치 또는 이상치가 존재한다. 앞서 살핀 RSSI 데이터 수집과 전처리를 거친 후 상기 수집된 RSSI에 학습 데이터로 사용될 가우시안 노이즈를 합성한다. 가장 높은 확률 발생 영역의 노이즈가 선택되어 RSSI에 합성될 수 있다. 이후, 합성된 RSSI를 마르코프 전이 필드로 변환하여 학습 데이터를 구축한다.The experimental environment is conducted in a specific indoor space. The RSSI collected from multiple beacons contains missing or outlier values. After the RSSI data collection and preprocessing discussed above, Gaussian noise to be used as learning data is synthesized into the collected RSSI. The noise in the area with the highest probability of occurrence can be selected and synthesized into the RSSI. After that, the synthesized RSSI is converted into a Markov transition field to build learning data.
여기서, RSSI를 전처리하는 과정은 복수의 비콘들로부터 수집된 RSSI의 시퀀스 데이터를 특정 시간 단위(또는 타임 슬롯)으로 구분하는 과정을 의미한다.Here, the process of preprocessing RSSI refers to the process of dividing the sequence data of RSSI collected from multiple beacons into specific time units (or time slots).
이후, 상기 특정 시간 단위 별로 구분된 1차원의 시계열 데이터에 대해 MTF 변환을 수행하게 된다.Afterwards, MTF transformation is performed on the one-dimensional time series data divided by the specific time unit.
RSSI 수집 및 노이즈 합성 과정에 대해 보다 구체적으로 살펴본다.Let's take a closer look at the RSSI collection and noise synthesis process.
상기 실내 특정 공간 내부의 3m×2m 크기의 구역에 실험 공간을 마련하여 20cm×20cm 크기의 정사각형 셀을 15×10개로 나눈다. 구역을 둘러싼 8개의 비콘들로부터 핑거프린트 방식으로 RSSI를 수집한다. 각 셀마다 100msec 간격으로 500개씩 수집한다. 22년 1월 5일, 2월 15일, 2월 22일, 3월 13일, 3월 14일, 3월 27일, 4월 3일 3개월에 걸쳐 총 8일치의 데이터를 확보했다.An experimental space was set up in a 3m x 2m area within the above indoor specific space, and divided into 15 x 10 square cells of 20cm x 20cm. RSSI was collected using fingerprinting from 8 beacons surrounding the area. 500 data were collected for each cell at 100msec intervals. A total of 8 days' worth of data were acquired over a period of 3 months: January 5, February 15, February 22, March 13, March 14, March 27, and April 3, 2022.
다만, 3월 27일, 4월 3일은 300개씩 RSSI를 수집하였다. 도 12는 각 비콘 별 측정된 RSSI를 나타내고, 도 13은 각 AP 별 RSSI 값의 분포를 나타낸다. 보다 구체적으로, 도 13은 노이즈 합성 전 및 합성 후의 RSSI 분포를 나타낸다. 도 12 및 도 13을 참고하면 같은 환경임에도 불구하고 날짜, 시간, 주변 기기, 온도, 습도 등에 의해 측정된 RSSI의 불안정성이 드러남을 알 수 있다.However, on March 27 and April 3, 300 RSSIs were collected. Fig. 12 shows the RSSI measured for each beacon, and Fig. 13 shows the distribution of RSSI values for each AP. More specifically, Fig. 13 shows the RSSI distribution before and after noise synthesis. Referring to Fig. 12 and Fig. 13, it can be seen that the instability of the RSSI measured by date, time, surrounding devices, temperature, humidity, etc. is revealed even in the same environment.
RSSI를 이용한 송신기와 수신기 사이의 거리 d 추정 식은 아래 수학식 4와 같이 나타낼 수 있다. n은 경로 손실 지수로 실내 환경은 보통 4로 지정된다. A는 수신기로부터의 기준 거리에서 RSSI값 상수이다.The distance d estimation formula between a transmitter and a receiver using RSSI can be expressed as mathematical formula 4 below. n is the path loss index, which is usually set to 4 for indoor environments. A is the RSSI value constant at the reference distance from the receiver.
전처리된 RSSI에 가우시안 노이즈를 합성하여 급격한 환경 변화와 같은 방해 요소에 의해 RSSI 값이 변동되었을 때 부정확한 예측을 완화한다. 즉, 인위적으로 가공하여 고르지 않은 데이터를 학습하도록 한다. X에 대한 확률 밀도 함수 f(x)은 아래 수학식 5로 나타낼 수 있다. μ는 평균, σ 2 은 표준편차를 의미한다. 가장 높은 확률 발생 영역의 노이즈가 선택되어 RSSI에 합성된다. 합성된 데이터는 아래 수학식 6으로 표현된다.Gaussian noise is synthesized on the preprocessed RSSI to alleviate inaccurate predictions when the RSSI value fluctuates due to disturbances such as rapid environmental changes. In other words, it artificially processes and learns uneven data. The probability density function f(x) for X can be expressed by the following mathematical expression 5. μ represents the mean, and σ 2 represents the standard deviation. The noise in the area with the highest probability of occurrence is selected and synthesized into the RSSI. The synthesized data is expressed by the following mathematical expression 6.
합성된 데이터와 기존 데이터에 각각 MinMaxScaling을 적용해 정규화한다. 합성된 데이터셋은 측위 모델이 노이즈에 더욱 강해지도록 학습된다.MinMaxScaling is applied to the synthesized data and the original data respectively to normalize them. The synthesized dataset is trained to make the positioning model more robust to noise.
다음으로, 마르코프 전이 필드 변환 과정에 대해 살펴본다.Next, we look at the Markov transition field transform process.
전처리 과정이 끝난 RSSI 데이터셋을 1차원 벡터 입력으로 만들어야 MTF로 변환할 수 있다. 도 14 및 도 15에 도시된 바와 같이, 일정한 주기를 갖는 신호를 MTF로 변환하면 그 특징이 이미지로 확연하게 드러남을 알 수 있다. 도 14 및 도 15는 본 명세서에서 제안하는 노이즈 합성 MTF 변환 이미지의 일례들을 나타낸 도이다.The RSSI data set that has completed the preprocessing process must be converted into a one-dimensional vector input before it can be converted into an MTF. As shown in FIGS. 14 and 15, when a signal with a constant period is converted into an MTF, its features are clearly revealed as an image. FIGS. 14 and 15 are diagrams showing examples of noise-synthesized MTF converted images proposed in this specification.
이는 시계열 데이터의 시간 종속성과 관련이 있다. 슬라이딩 윈도우 기법을 적용하여 MTF 생성에 필요한 시계열 데이터 배열을 생성한다. 해당 배열을 MTF로 변환하면 학습에 필요한 이미지 생성이 완료된다.This is related to the temporal dependency of time series data. The sliding window technique is applied to generate the time series data array required for MTF generation. Converting the array to MTF completes the image generation required for learning.
본 명세서는 8개의 AP에서 수집한 각 RSSI 시계열 데이터를 AP당 28개씩 연결하여 크기를 224으로 가지는 MTF를 생성했다. AP 1~8개의 RSSI 이미지는 도 14와 같다. 학습에 사용될 CNN 모델은 DensNet으로, 224×224 크기의 이미지를 입력으로 가진다. 따라서, 마르코프 전이 필드의 이미지 크기를 가로 세로 모두 224로 조정하였다.This specification generated an MTF with a size of 224 by concatenating 28 RSSI time series data collected from 8 APs for each AP. The RSSI images of APs 1 to 8 are as shown in Fig. 14. The CNN model used for learning is DensNet, which takes images of the size of 224×224 as input. Therefore, the image size of the Markov transition field was adjusted to 224 in both width and height.
본 명세서에서 제안하는 학습에 사용될 모델로는 DenseNet으로, 신경망 내부의 이전 레이어를 모든 다음 레이어에 직접적으로 연결하여 정보의 흐름을 향상시킨 모델이다. DensNet의 1 번째 층은 x0, x1, ...x 1-1 번째 층이 모두 결합되어 활성화 함수 H 연산을 수행한다. DensNet의 활성화 함수는 배치 정규화 층, 3×3 합성곱 층으로 이루어진다. 아래 수학식 7은 DensNet 1번째 층에 해당하는 Dense Connectivity를 나타낸다.The model to be used for learning proposed in this specification is DenseNet, which is a model that improves the flow of information by directly connecting the previous layer in the neural network to all the next layers. The 1st layer of DensNet performs the activation function H operation by combining all the x0, x1, ...x 1-1th layers. The activation function of DensNet consists of a batch normalization layer and a 3 × 3 convolution layer. The mathematical expression 7 below represents the Dense Connectivity corresponding to the 1st layer of DensNet.
아래 표 1은 학습에 사용된 모델의 학습 파라미터의 일례를 나타낸다.Table 1 below shows an example of learning parameters for the model used for learning.
앞서 살핀 바와 같이, 실내 환경에서 RSSI의 변동에 따른 측위 정확도 개선을 위해 MTF에 가우시안 노이즈를 합성하여 학습된 모델을 살펴보았다.As previously discussed, we examined a learned model that synthesized Gaussian noise into MTF to improve positioning accuracy according to RSSI fluctuations in an indoor environment.
시계열 데이터인 RSSI를 이미지 형태로 변환하는 MTF 알고리즘을 적용함으로써, RSSI의 불안전성으로 인한 측위 정확도 개선을 확인할 수 있었다.By applying the MTF algorithm to convert RSSI, which is time series data, into image format, we were able to confirm improvement in positioning accuracy due to the instability of RSSI.
RSSI를 MTF로 변환하는 과정에서 노이즈를 합성함으로써, 데이터셋의 증강 효과를 얻을 수 있으며 제안된 모델은 노이즈에 안정적으로 학습됨을 알 수 있다. 따라서, RSSI의 노이즈를 제거하는 것이 아닌 합성하는 기술을 MTF에 활용하면 측위 정확도를 더욱 개선할 수 있다. 가우시안 분포의 평균이나 표준편차를 조정한다면 학습에 필요한 최적의 노이즈를 찾을 수 있게 된다.By synthesizing noise in the process of converting RSSI to MTF, we can obtain the effect of augmenting the dataset, and it can be seen that the proposed model is reliably trained in noise. Therefore, if the technique of synthesizing RSSI noise rather than removing it is used in MTF, the positioning accuracy can be further improved. If the mean or standard deviation of the Gaussian distribution is adjusted, the optimal noise required for training can be found.
도 16은 본 명세서에서 제안하는 마르코프 전이 필드 기반 CNN을 이용한 사용자의 위치를 측정하기 위한 단말의 동작 방법의 일례를 나타낸 순서도이다.Fig. 16 is a flowchart showing an example of a terminal operation method for measuring a user's location using a Markov transition field-based CNN proposed in this specification.
먼저, 단말은 복수의 액세스 포인트(access point)들로부터 무선 신호를 수신한다(S1610).First, the terminal receives wireless signals from multiple access points (S1610).
그리고, 상기 단말은 상기 수신된 무선 신호의 RSSI(Received Signal Strength Indication)를 측정한다(S1620).And, the terminal measures the RSSI (Received Signal Strength Indication) of the received wireless signal (S1620).
그리고, 상기 단말은 상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정한다(S1630).And, the terminal measures the location of the user based on the RSSI of the measured wireless signal using a learned convolutional neural network model and a fingerprinting technique (S1630).
보다 구체적으로, 상기 단말은 컨벌루션 신경망 모델을 학습하기 위해 아래와 같은 절차를 수행할 수 있다.More specifically, the terminal can perform the following procedure to learn a convolutional neural network model.
즉, 상기 단말은 상기 측정된 무선 신호의 RSSI를 전처리한다.That is, the terminal preprocesses the RSSI of the measured wireless signal.
그리고, 상기 단말은 상기 전처리된 RSSI에 랜덤 노이즈를 추가하여 1차원의 시계열 데이터를 생성한다.And, the terminal adds random noise to the preprocessed RSSI to generate one-dimensional time series data.
그리고, 상기 단말은 상기 1차원의 시계열 데이터에 마르코프 전이 필드(Markov Transition Field, MTF)를 적용하여 2차원의 이미지 데이터로 변환한다.And, the terminal applies a Markov Transition Field (MTF) to the one-dimensional time series data to convert it into two-dimensional image data.
그리고, 상기 단말은 상기 2차원의 이미지 데이터를 상기 컨벌루션 신경망 모델의 학습 데이터로 사용할 수 있다.Additionally, the terminal can use the two-dimensional image data as learning data for the convolutional neural network model.
또한, 상기 MTF를 적용하여 2차원의 이미지 데이터로 변환하는 단계는 (1) 상기 1차원의 시계열 데이터를 특정 수(Q)의 시간 구간으로 나누고, (2) 특정 수(Q)×특정 수(Q) 크기의 가중치 행렬을 구성하고, (3) 상기 구성된 가중치 행렬에서 각 열의 합을 1로 정규화하여 마르코프 전이 행렬(W)을 생성하고, (4) 상기 생성된 전이 행렬에 기초하여 마르코프 전이 필드(M)를 생성하는 단계를 포함할 수 있다.In addition, the step of converting into two-dimensional image data by applying the MTF may include the steps of (1) dividing the one-dimensional time series data into a specific number (Q) of time intervals, (2) constructing a weight matrix having a size of a specific number (Q) × a specific number (Q), (3) normalizing the sum of each column in the constructed weight matrix to 1 to generate a Markov transition matrix (W), and (4) generating a Markov transition field (M) based on the generated transition matrix.
여기서 , 상기 마르코프 전이 행렬(W)은 아래와 같이 정의될 수 있다.Here, the Markov transition matrix (W) can be defined as follows.
여기서, W는 마르코프 전이 행렬이며, 타임스탬프 ti의 시계열 데이터 xi에 해당하는 구간인 qj {1<j<Q}의 빈도를 나타내며, 상기 Q는 상기 특정 수를 나타낸다.Here, W is a Markov transition matrix and represents the frequency of the interval qj {1<j<Q} corresponding to the time series data xi of timestamp ti, and Q represents the specific number.
또한, 상기 마르코프 전이 필드(M)은 아래와 같이 정의될 수 있다.Additionally, the Markov transition field (M) can be defined as follows.
또한, 상기 랜덤 노이즈는 가우시안(Gaussian) 노이즈일 수 있으며, 상기 가우시안 노이즈(p(x))는 아래와 같이 정의될 수 있다.Additionally, the random noise may be Gaussian noise, and the Gaussian noise ( p ( x )) may be defined as follows.
단말 내부 블록도Terminal internal block diagram
도 17은 본 명세서에서 제안하는 방법이 적용될 수 있는 단말을 설명하기 위한 내부 블록도이다.Figure 17 is an internal block diagram illustrating a terminal to which the method proposed in this specification can be applied.
단말(100)은 무선 통신부(110), 입력부(120), 출력부(130), 메모리(140) 및 제어부(또는 프로세서, 150)를 포함할 수 있다. 도 17에 도시된 구성요소들은 단말을 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 단말기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 도 17에 도시되지는 않았지만, 도 9의 AI 장치가 상기 단말에 포함될 수 있다.The terminal (100) may include a wireless communication unit (110), an input unit (120), an output unit (130), a memory (140), and a control unit (or processor, 150). The components illustrated in FIG. 17 are not essential for implementing the terminal, and thus the terminal described in this specification may have more or fewer components than the components listed above. Although not illustrated in FIG. 17, the AI device of FIG. 9 may be included in the terminal.
보다 구체적으로, 상기 구성요소들 중 무선 통신부는, 단말과 무선 통신 시스템 사이, 단말과 다른 단말 사이, 또는 단말과 서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부는, 단말을 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.More specifically, among the above components, the wireless communication unit may include one or more modules that enable wireless communication between a terminal and a wireless communication system, between a terminal and another terminal, or between a terminal and a server. In addition, the wireless communication unit may include one or more modules that connect the terminal to one or more networks.
이러한 무선 통신부는, 이동통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.The wireless communication unit may include at least one of a mobile communication module, a short-range communication module, and a location information module.
입력부는 사용자로부터 정보를 입력받기 위한 사용자 입력부(예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 포함할 수 있다. 상기 입력부는 추가적으로 영상 신호 입력을 위한 카메라 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(microphone), 또는 오디오 입력부 등을 더 포함할 수 있다. 상기 입력부에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.The input unit may include a user input unit (e.g., a touch key, a mechanical key, etc.) for receiving information from a user. The input unit may additionally include a camera or a video input unit for video signal input, a microphone for audio signal input, or an audio input unit. Voice data or image data collected from the input unit may be analyzed and processed into a user's control command.
출력부는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부, 음향 출력부, 햅팁 모듈, 광 출력부 중 적어도 하나를 포함할 수 있다. 디스플레이부는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 단말과 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 단말과 사용자 사이의 출력 인터페이스를 제공할 수 있다.The output section is for generating output related to vision, hearing, or tactile sensations, and may include at least one of a display section, an acoustic output section, a haptic module, and an optical output section. The display section may be formed as a layer structure with a touch sensor or formed as an integral part, thereby implementing a touch screen. This touch screen may function as a user input section that provides an input interface between a terminal and a user, and may provide an output interface between the terminal and the user.
또한, 메모리는 단말의 다양한 기능을 지원하는 데이터를 저장한다. 메모리는 단말에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 단말의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 단말상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리에 저장되고, 디바이스 상에 설치되어, 제어부에 의하여 상기 단말의 동작(또는 기능)을 수행하도록 구동될 수 있다.In addition, the memory stores data that supports various functions of the terminal. The memory can store a plurality of application programs (or applications) running on the terminal, data for the operation of the terminal, and commands. At least some of these application programs can be downloaded from an external server via wireless communication. In addition, at least some of these application programs can exist on the terminal from the time of shipment for the basic functions of the terminal (e.g., incoming and outgoing call functions, message reception and outgoing functions). Meanwhile, the application program can be stored in the memory, installed on the device, and driven by the control unit to perform the operation (or function) of the terminal.
제어부는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 단말의 전반적인 동작을 제어한다. 제어부는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.In addition to the operations related to the above application programs, the control unit typically controls the overall operations of the terminal. The control unit can process signals, data, information, etc. input or output through the components discussed above, or can operate application programs stored in memory, thereby providing or processing appropriate information or functions to the user.
또한, 제어부는 메모리에 저장된 응용 프로그램을 구동하기 위하여, 도 13과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부는 상기 응용 프로그램의 구동을 위하여, 단말에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.In addition, the control unit can control at least some of the components examined with reference to FIG. 13 in order to drive an application program stored in the memory. Furthermore, the control unit can operate at least two or more of the components included in the terminal in combination with each other in order to drive the application program.
상기 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한 실시예들에 따른 단말의 동작, 제어, 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 상기 단말의 동작, 제어, 또는 제어 방법은 상기 메모리에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 단말상에서 구현될 수 있다.At least some of the above components may cooperate with each other to implement the operation, control, or control method of the terminal according to various embodiments described below. In addition, the operation, control, or control method of the terminal may be implemented on the terminal by driving at least one application program stored in the memory.
도 17의 단말이 도 16의 방법 즉, 컨벌루션 신경망 모델을 이용하여 사용자의 위치를 측정하기 위한 방법을 구현하는 내용에 대해 살펴본다.We will examine the contents of the terminal of Fig. 17 implementing the method of Fig. 16, that is, the method for measuring the user's location using a convolutional neural network model.
이를 위해, 단말은 무선 통신부, AI 장치 및 프로세서(또는 제어부)를 포함하며, 상기 AI 장치는 도 9에서 언급한 구성요소를 포함할 수 있다.To this end, the terminal includes a wireless communication unit, an AI device, and a processor (or control unit), and the AI device may include the components mentioned in FIG. 9.
상기 무선 통신부는 복수의 액세스 포인트(access point)들로부터 무선 신호를 수신한다.The above wireless communication unit receives wireless signals from multiple access points.
그리고, 상기 AI 장치는 상기 컨벌루션 신경망 모델을 학습한다.And, the AI device learns the convolutional neural network model.
그리고, 상기 프로세서는 상기 무선 통신부 및 상기 AI 장치와 기능적으로 연결되며, 상기 단말의 전반적인 동작을 제어한다.And, the processor is functionally connected to the wireless communication unit and the AI device, and controls the overall operation of the terminal.
구체적으로, 상기 프로세서는 상기 수신된 무선 신호의 RSSI(Received Signal Strength Indication)를 측정하며, 상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정하도록 제어한다.Specifically, the processor measures the Received Signal Strength Indication (RSSI) of the received wireless signal, and controls the measured RSSI of the wireless signal to measure the location of the user based on a learned convolutional neural network model and a fingerprinting technique.
또한, 상기 AI 장치는 상기 측정된 무선 신호의 RSSI를 전처리하며, 상기 전처리된 RSSI에 랜덤 노이즈를 추가하여 1차원의 시계열 데이터를 생성하며, 상기 1차원의 시계열 데이터에 마르코프 전이 필드(Markov Transition Field, MTF)를 적용하여 2차원의 이미지 데이터로 변환하며, 상기 2차원의 이미지 데이터를 상기 컨벌루션 신경망 모델의 학습 데이터로 사용하여 상기 컨벌루션 신경망 모델을 학습할 수 있다.In addition, the AI device preprocesses RSSI of the measured wireless signal, adds random noise to the preprocessed RSSI to generate one-dimensional time series data, applies a Markov Transition Field (MTF) to the one-dimensional time series data to convert it into two-dimensional image data, and uses the two-dimensional image data as learning data of the convolutional neural network model to learn the convolutional neural network model.
또한, 상기 AI 장치는 상기 1차원 시계열 데이터를 특정 수(Q)의 시간 구간으로 나누고, 특정 수(Q)×특정 수(Q) 크기의 가중치 행렬을 구성하고, 상기 구성된 가중치 행렬에서 각 열의 합을 1로 정규화하여 마르코프 전이 행렬(W)을 생성하고, 상기 생성된 전이 행렬에 기초하여 마르코프 전이 필드(M)를 생성함으로써 상기 MTF를 적용하여 2차원의 이미지 데이터로 변환할 수 있다.In addition, the AI device can convert the one-dimensional time series data into two-dimensional image data by applying the MTF by dividing the one-dimensional time series data into a specific number (Q) of time intervals, constructing a weight matrix having a size of a specific number (Q) × a specific number (Q), normalizing the sum of each column in the constructed weight matrix to 1 to generate a Markov transition matrix (W), and generating a Markov transition field (M) based on the generated transition matrix.
이상에서 설명된 실시 예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시 예를 구성하는 것도 가능하다. 본 발명의 실시 예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시 예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시 예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.The embodiments described above are combinations of components and features of the present invention in a given form. Each component or feature should be considered optional unless explicitly stated otherwise. Each component or feature may be implemented in a form that is not combined with other components or features. In addition, it is also possible to combine some components and/or features to form an embodiment of the present invention. The order of operations described in the embodiments of the present invention may be changed. Some components or features of one embodiment may be included in another embodiment, or may be replaced with corresponding components or features of another embodiment. It is obvious that claims that do not have an explicit citation relationship in the scope of the patent may be combined to form an embodiment or may be included as a new claim by post-application amendment.
본 발명에 따른 실시 예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시 예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Embodiments of the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In case of implementation by hardware, an embodiment of the present invention may be implemented by one or more ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and the like.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시 예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.In the case of implementation by firmware or software, one embodiment of the present invention may be implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above. The software code may be stored in a memory and may be driven by a processor. The memory may be located inside or outside the processor and may exchange data with the processor by various means already known.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 통상의 기술자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the essential characteristics of the present invention. Accordingly, the above detailed description should not be construed as limiting in all respects but should be considered as illustrative. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
100: 단말100: Terminal
Claims (12)
복수의 액세스 포인트(access point)들로부터 무선 신호를 수신하는 단계;
상기 수신된 무선 신호의 RSSI(Received Signal Strength Indication)를 측정하는 단계;
상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정하는 단계를 포함하되,
상기 컨벌루션 신경망 모델을 학습하는 단계는,
상기 측정된 무선 신호의 RSSI를 특정 시간 단위의 타입 슬롯으로 구분하는 전처리를 수행하는 단계;
상기 전처리된 RSSI에 랜덤 노이즈를 추가하여 1차원의 시계열 데이터를 생성하는 단계;
상기 1차원의 시계열 데이터에 마르코프 전이 필드(Markov Transition Field, MTF)를 적용하여 2차원의 이미지 데이터로 변환하는 단계; 및
상기 2차원의 이미지 데이터를 상기 컨벌루션 신경망 모델의 학습 데이터로 사용하는 단계를 포함하는 것을 특징으로 하는 방법.A method for measuring a user's location using a convolutional neural network model,
A step of receiving wireless signals from multiple access points;
A step of measuring the RSSI (Received Signal Strength Indication) of the received wireless signal;
A step of measuring the location of the user based on the RSSI of the measured wireless signal using a learned convolutional neural network model and a fingerprinting technique,
The steps for learning the above convolutional neural network model are:
A step of performing preprocessing to divide the RSSI of the measured wireless signal into type slots of specific time units;
A step of generating one-dimensional time series data by adding random noise to the above preprocessed RSSI;
A step of converting the above one-dimensional time series data into two-dimensional image data by applying a Markov Transition Field (MTF); and
A method characterized by comprising a step of using the above two-dimensional image data as learning data of the above convolutional neural network model.
상기 MTF를 적용하여 2차원의 이미지 데이터로 변환하는 단계는,
상기 1차원의 시계열 데이터를 특정 수(Q)의 시간 구간으로 나누는 단계;
특정 수 (Q)×특정 수 (Q) 크기의 가중치 행렬을 구성하는 단계;
상기 구성된 가중치 행렬에서 각 열의 합을 1로 정규화하여 마르코프 전이 행렬(W)을 생성하는 단계; 및
상기 생성된 전이 행렬에 기초하여 마르코프 전이 필드(M)를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.In the first paragraph,
The step of converting into two-dimensional image data by applying the above MTF is:
A step of dividing the above one-dimensional time series data into a specific number (Q) of time intervals;
A step of constructing a weight matrix of a specific number (Q) × specific number (Q) size;
A step of generating a Markov transition matrix (W) by normalizing the sum of each column in the above-configured weight matrix to 1; and
A method characterized by comprising a step of generating a Markov transition field (M) based on the generated transition matrix.
상기 마르코프 전이 행렬(W)은 아래와 같이 정의되는 것을 특징으로 하는 방법.
상기 W는 마르코프 전이 행렬이며, 타임스탬프 ti의 시계열 데이터 xi에 해당하는 구간인 qj {1<j<Q}의 빈도를 나타내며, 상기 Q는 상기 특정 수를 나타냄.In the second paragraph,
A method characterized in that the above Markov transition matrix (W) is defined as follows.
The above W is a Markov transition matrix and represents the frequency of the interval qj {1<j<Q} corresponding to the time series data xi of timestamp ti, and the above Q represents the specific number.
상기 마르코프 전이 필드(M)은 아래와 같이 정의되는 것을 특징으로 하는 방법.
In the third paragraph,
A method characterized in that the above Markov transition field (M) is defined as follows.
상기 랜덤 노이즈는 가우시안(Gaussian) 노이즈인 것을 특징으로 하는 방법.In the fourth paragraph,
A method characterized in that the above random noise is Gaussian noise.
상기 가우시안 노이즈는 아래와 같이 정의되는 것을 특징으로 하는 방법.
상기 p(x)는 가우시안 노이즈임.In clause 5,
A method characterized in that the above Gaussian noise is defined as follows.
The above p ( x ) is Gaussian noise.
복수의 액세스 포인트(access point)들로부터 무선 신호를 수신하는 무선 통신부;
상기 컨벌루션 신경망 모델을 학습하는 AI 장치; 및
상기 무선 통신부 및 상기 AI 장치와 기능적으로 연결되며, 상기 단말의 전반적인 동작을 제어하는 프로세서를 포함하되, 상기 프로세서는,
상기 수신된 무선 신호의 RSSI(Received Signal Strength Indication)를 측정하며,
상기 측정된 무선 신호의 RSSI를 학습된 컨벌루션 신경망 모델 및 핑거프린팅 기법에 기초하여 상기 사용자의 위치를 측정하도록 제어하되,
상기 AI 장치는,
상기 측정된 무선 신호의 RSSI를 특정 시간 단위의 타입 슬롯으로 구분하는 전처리를 수행하며,
상기 전처리된 RSSI에 랜덤 노이즈를 추가하여 1차원의 시계열 데이터를 생성하며,
상기 1차원의 시계열 데이터에 마르코프 전이 필드(Markov Transition Field, MTF)를 적용하여 2차원의 이미지 데이터로 변환하며,
상기 2차원의 이미지 데이터를 상기 컨벌루션 신경망 모델의 학습 데이터로 사용하여 상기 컨벌루션 신경망 모델을 학습하는 것을 특징으로 하는 단말.In a terminal for measuring the user's location using a convolutional neural network model,
A wireless communication unit that receives wireless signals from multiple access points;
An AI device that learns the above convolutional neural network model; and
A processor functionally connected to the wireless communication unit and the AI device and controlling the overall operation of the terminal, wherein the processor comprises:
Measure the RSSI (Received Signal Strength Indication) of the received wireless signal,
Controlling the RSSI of the measured wireless signal to measure the location of the user based on the learned convolutional neural network model and fingerprinting technique,
The above AI device,
Preprocessing is performed to divide the RSSI of the measured wireless signal into type slots of specific time units.
Random noise is added to the above preprocessed RSSI to generate one-dimensional time series data.
The Markov Transition Field (MTF) is applied to the above one-dimensional time series data to convert it into two-dimensional image data.
A terminal characterized in that the two-dimensional image data is used as learning data for the convolutional neural network model to learn the convolutional neural network model.
상기 1차원 시계열 데이터를 특정 수(Q)의 시간 구간으로 나누고,
특정 수(Q)×특정 수(Q) 크기의 가중치 행렬을 구성하고,
상기 구성된 가중치 행렬에서 각 열의 합을 1로 정규화하여 마르코프 전이 행렬(W)을 생성하고,
상기 생성된 전이 행렬에 기초하여 마르코프 전이 필드(M)를 생성함으로써 상기 MTF를 적용하여 2차원의 이미지 데이터로 변환하는 것을 특징으로 하는 단말.In the seventh paragraph, the AI device,
Divide the above one-dimensional time series data into a specific number (Q) of time intervals,
A weight matrix of a specific number (Q) × specific number (Q) in size is constructed,
In the weight matrix constructed above, the sum of each column is normalized to 1 to generate a Markov transition matrix (W).
A terminal characterized in that it converts into two-dimensional image data by applying the MTF by generating a Markov transition field (M) based on the generated transition matrix.
상기 마르코프 전이 행렬(W)은 아래와 같이 정의되는 것을 특징으로 하는 단말.
상기 W는 마르코프 전이 행렬이며, 타임스탬프 ti의 시계열 데이터 xi에 해당하는 구간인 qj {1<j<Q}의 빈도를 나타내며, 상기 Q는 상기 특정 수를 나타냄.In Article 8,
A terminal characterized in that the Markov transition matrix (W) is defined as follows.
The above W is a Markov transition matrix and represents the frequency of the interval qj {1<j<Q} corresponding to the time series data xi of timestamp ti, and the above Q represents the specific number.
상기 마르코프 전이 필드(M)은 아래와 같이 정의되는 것을 특징으로 하는 단말.
In Article 9,
A terminal characterized in that the Markov transition field (M) is defined as follows.
상기 랜덤 노이즈는 가우시안(Gaussian) 노이즈인 것을 특징으로 하는 단말.In Article 10,
A terminal characterized in that the above random noise is Gaussian noise.
상기 가우시안 노이즈는 아래와 같이 정의되는 것을 특징으로 하는 단말.
상기 p(x)는 가우시안 노이즈임.In Article 11,
A terminal characterized in that the above Gaussian noise is defined as follows.
The above p ( x ) is Gaussian noise.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230014080A KR20240121445A (en) | 2023-02-02 | 2023-02-02 | Apparatus and method for measuring user location based on a cnn model using markov transition field |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230014080A KR20240121445A (en) | 2023-02-02 | 2023-02-02 | Apparatus and method for measuring user location based on a cnn model using markov transition field |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240121445A true KR20240121445A (en) | 2024-08-09 |
Family
ID=92377527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230014080A Ceased KR20240121445A (en) | 2023-02-02 | 2023-02-02 | Apparatus and method for measuring user location based on a cnn model using markov transition field |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240121445A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119045671A (en) * | 2024-10-31 | 2024-11-29 | 中国科学院自动化研究所 | Decision prediction method and device based on multi-mode physiological signals |
CN119357560A (en) * | 2024-12-23 | 2025-01-24 | 浙江工商大学 | A lightweight gas identification method using an electronic nose |
CN120086695A (en) * | 2025-05-06 | 2025-06-03 | 烟台哈尔滨工程大学研究院 | A ship power data processing system, method and medium |
-
2023
- 2023-02-02 KR KR1020230014080A patent/KR20240121445A/en not_active Ceased
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119045671A (en) * | 2024-10-31 | 2024-11-29 | 中国科学院自动化研究所 | Decision prediction method and device based on multi-mode physiological signals |
CN119357560A (en) * | 2024-12-23 | 2025-01-24 | 浙江工商大学 | A lightweight gas identification method using an electronic nose |
CN120086695A (en) * | 2025-05-06 | 2025-06-03 | 烟台哈尔滨工程大学研究院 | A ship power data processing system, method and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hsieh et al. | Deep learning-based indoor localization using received signal strength and channel state information | |
Wang et al. | Survey on NLOS identification and error mitigation for UWB indoor positioning | |
KR20240121445A (en) | Apparatus and method for measuring user location based on a cnn model using markov transition field | |
CN112312541B (en) | Wireless positioning method and system | |
CN113095370A (en) | Image recognition method and device, electronic equipment and storage medium | |
CN113807399A (en) | Neural network training method, neural network detection method and neural network detection device | |
CN106714110A (en) | Auto building method and system of Wi-Fi position fingerprint map | |
WO2021154831A1 (en) | Radar-based smart device control | |
CN106559749A (en) | A kind of multiple target passive type localization method based on radio frequency tomography | |
Khassanov et al. | Finer-level sequential wifi-based indoor localization | |
Chen et al. | A WiFi indoor localization method based on dilated CNN and support vector regression | |
CN111050294A (en) | Indoor positioning system and method based on deep neural network | |
Abid et al. | Improving indoor geomagnetic field fingerprinting using recurrence plot-based convolutional neural networks | |
Khan et al. | A hybrid deep learning model for UWB radar-based human activity recognition | |
Tarekegn et al. | SRCLoc: Synthetic radio map construction method for fingerprinting outdoor localization in hybrid networks | |
Nasir et al. | HyTra: Hyperclass transformer for WiFi fingerprinting-based indoor localization | |
Ayinla et al. | An Enhanced Deep Neural Network Approach for WiFi Fingerprinting-Based Multi-Floor Indoor Localization | |
Artemov et al. | Subsystem for simple dynamic gesture recognition using 3DCNNLSTM | |
Wang et al. | RF-CPO-SVR algorithm for indoor localization based on wifi fingerprints | |
Peng et al. | Integration of attention mechanism and CNN-BiGRU for TDOA/FDOA collaborative mobile underwater multi-scene localization algorithm | |
CN116437439A (en) | Accurate indoor positioning method combining convolutional neural network and WKNN | |
CN210899633U (en) | Indoor positioning system based on deep neural network | |
Mazlan et al. | A study on the impact of layout change to knowledge distilled indoor positioning systems | |
CN114998731A (en) | Intelligent terminal navigation scene perception identification method | |
KR20240121444A (en) | Apparatus and method for measuring user location based on rssi fingerprinting using denoising autoencoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |