KR102535632B1 - 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치 - Google Patents

사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102535632B1
KR102535632B1 KR1020210146048A KR20210146048A KR102535632B1 KR 102535632 B1 KR102535632 B1 KR 102535632B1 KR 1020210146048 A KR1020210146048 A KR 1020210146048A KR 20210146048 A KR20210146048 A KR 20210146048A KR 102535632 B1 KR102535632 B1 KR 102535632B1
Authority
KR
South Korea
Prior art keywords
data
ecg
user
class
arrhythmia
Prior art date
Application number
KR1020210146048A
Other languages
English (en)
Other versions
KR20230061126A (ko
Inventor
박철수
강영신
이현빈
신영주
Original Assignee
광운대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to KR1020210146048A priority Critical patent/KR102535632B1/ko
Publication of KR20230061126A publication Critical patent/KR20230061126A/ko
Application granted granted Critical
Publication of KR102535632B1 publication Critical patent/KR102535632B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0002Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
    • A61B5/0004Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by the type of physiological signal transmitted
    • A61B5/0006ECG or EEG signals
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Cardiology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Human Computer Interaction (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Pathology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Bioethics (AREA)
  • Surgery (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Neurosurgery (AREA)
  • Physiology (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Dermatology (AREA)
  • Databases & Information Systems (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

사용자 인증 시 사용자 정보 유출을 방지하기 위한 단말기는 사용자의 생체 신호를 센싱하여 추출한 심전도(Electrocardiogram, ECG) 데이터를 외부 기기로부터 수신하는 통신부; 및 상기 ECG 데이터를 제 1 기계학습된 모델에 적용하여 상기 사용자를 인증하고 상기 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단하며, 상기 ECG 데이터에 심장질환과 관련된 데이터가 있는 경우 상기 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 상기 심장질환과 관련된 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.

Description

사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치{APPARATUS AND METHOD FOR PREVENTING USER INFORMATION LEAKAGE DURING USER AUTHENTICATION}
본 발명은 사용자 정보 유출을 방지하기 위한 장치 및 방법에 관한 것으로, 보다 자세하게는 사용자 인증 시에 사용자 정보가 유출되는 것을 방지하기 위한 장치 및 방법에 관한 것이다.
현대 사회에서 사용자를 식별하기 위한 수단으로 홍채, 지문과 같은 사용자의 신체적 특징을 사용하고 있다. 그러나 위와 같은 방법을 통한 인증 진행 시 흔적이 남아 위조 및 변조가 쉬운 단점이 있다.
생리학적 신호는 고유한 패턴을 띄고 있으며 이로부터 특징을 추출하여 사용자가 가지고 있는 질병에 대한 정보를 알 수도 있다. 또한, 최근 생리학적 데이터를 활용하여 질환을 평가하고 진단하기 위한 건강 모니터 기술 개발 활발해 짐에 따라 이러한 민감한 정보가 유출되는 상황이 초래할 수 있다.
그러나, 사용자 인증 시에 사용자의 민감한 정보(나이, 성별, 병명)를 감추기 위한 연구가 진행되지 않아서 사용자의 생체 신호를 이용한 개인 인증 시 보안이 취약하였다. 따라서, 개인 인증 시 보다 안전하고 보안성이 높은 방법들이 연구될 필요가 있다.
본 발명에서 이루고자 하는 기술적 과제는 사용자 인증 시 사용자 정보 유출을 방지하기 위한 단말기를 제공하는 데 있다.
본 발명에서 이루고자 하는 다른 기술적 과제는 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법을 제공하는 데 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 일 실시예에 따른 사용자 인증 시 사용자 정보 유출을 방지하기 위한 단말기는, 사용자의 생체 신호를 센싱하여 추출한 심전도(Electrocardiogram, ECG) 데이터를 외부 기기로부터 수신하는 통신부; 및 상기 ECG 데이터를 제 1 기계학습된 모델에 적용하여 상기 사용자를 인증하고 상기 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단하며, 상기 ECG 데이터에 심장질환과 관련된 데이터가 있는 경우 상기 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 상기 심장질환과 관련된 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.
상기 통신부는 상기 유사(fake) ECG 데이터를 서버로 전송할 수 있다. 상기 심장질환과 관련된 데이터는 상기 ECG 데이터 중에서 부정맥(arrhythmia) 데이터일 수 있다. 상기 통신부는 상기 수신된 ECG 데이터에서 상기 심장질환과 관련된 데이터가 아닌 정상 데이터는 상기 제 1 기계학습된 모델에 적용하지 않고 상기 서버로 전송할 수 있다. 상기 제 1 기계학습된 모델은 Multi-task learning 알고리즘으로 학습된 모델을 포함하며, 상기 제 2 기계학습된 모델은 Generative Adversarial Network (GAN) 알고리즘으로 학습된 모델을 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 외부기기로부터 수신된 ECG 데이터에 대해 전처리(pre-filtering)을 수행할 수 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 다른 일 실시예에 따른 사용자 인증 시 사용자 정보 유출을 방지하기 위한 단말기는, 사용자의 생체 신호를 센싱하여 심전도(Electrocardiogram, ECG) 데이터를 추출하는 ECG 센서부; 및 상기 ECG 데이터를 제 1 기계학습된 모델에 적용하여 상기 사용자를 인증하고 상기 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단하며, 상기 ECG 데이터에 심장질환과 관련된 데이터가 있는 경우 상기 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 상기 심장질환과 관련된 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.
상기 단말기는 상기 유사(fake) ECG 데이터를 서버로 전송하는 통신부를 더 포함할 수 있다. 상기 단말기의 통신부는 상기 추출된 ECG 데이터를 상기 제 1 기계학습된 모델에 적용하여 획득한 상기 심장질환과 관련된 데이터가 아닌 정상 데이터를 상기 서버로 전송할 수 있다. 상기 단말기는 웨어러블 디바이스 또는 스마트폰을 포함할 수 있다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명의 일 실시예에 따른 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법은, 사용자의 생체 신호를 센싱하여 추출한 심전도(Electrocardiogram, ECG) 데이터를 외부 기기로부터 수신하는 단계; 상기 ECG 데이터를 제 1 기계학습된 모델에 적용하여 상기 사용자를 인증하고 상기 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단하는 단계; 및 상기 ECG 데이터에 심장질환과 관련된 데이터가 있는 경우 상기 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 상기 심장질환과 관련된 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하는 단계를 포함할 수 있다.
상기 방법은 상기 유사(fake)ECG 데이터를 서버로 전송하는 단계를 더 포함g할 수 있다. 상기 방법은 상기 수신된 ECG 데이터에서 상기 심장질환과 관련된 데이터가 아닌 정상 데이터는 상기 제 1 기계학습된 모델에 적용하지 않고 상기 서버로 전송하는 단계를 더 포함할 수 있다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명의 다른 일 실시예에 따른 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법은, 사용자의 생체 신호를 센싱하여 심전도(Electrocardiogram, ECG) 데이터를 추출하는 단계; 상기 ECG 데이터를 제 1 기계학습된 모델에 적용하여 상기 사용자를 인증하고 상기 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단하는 단계; 및 상기 ECG 데이터에 심장질환과 관련된 데이터가 있는 경우 상기 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 상기 심장질환과 관련된 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하는 단계를 포함할 수 있다.
본 발명에 따라 실시간으로 측정된 심전도 데이터를 모바일 개인 인증 시스템을 통해 인증이 필요할 때마다 보안의 위협을 감소하며 개인 인증할 수 있다.
또한, 본 발명에 따라 모바일 개인 인증 시스템으로 모바일 디바이스와 같이 휴대용 장치 사용으로 단순하고 편리한 접근성과 강력한 보안성을 가진 생체 측정 인증 접근 방식으로 사용자의 심전도 데이터로부터 판별 가능한 민감한 정보(본 발명에서는 부정맥)를 감추는 동시에 사용자의 신원을 인증하는 시스템을 구현할 수 있게 되었다.
본 발명이 적용 가능한 제품, 서비스로는 개인 인증이 필요한 시스템(모바일 인증 시스템, 모바일 뱅킹), 헬스케어용 웨어러블 디바이스, 신호처리용 소형 디바이스, 환자의 신원 인증이 필요한 의료군(응급실, 보건소 등). 개인 정보 유출에 민감한 구역(군부대), 시계열 데이터 분석 센서 등 다양한 분야에서 활용될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 인공신경망의 계층 구조(layer structure)를 예시한 도면이다.
도 2는 심층 신경망의 일 예를 도시한 도면이다.
도 3는 사용자 인증 시 사용자 정보를 보호하기 위한 시스템 구조를 도시한 도면이다.
도 4는 본 발명에 따른 사용자 인증 시 사용자 정보를 보호하기 위한 단말기의 구성을 나타낸 블록도이다.
도 5는 GAN(Generative Adversarial Network) 학습 모델의 구조를 예시한 도면이다.
도 6은 본 발명에 따른 GAN 알고리즘에 따른 학습 모델을 통해 생성된 ECG를 도시한 도면이다.
도 7은 본 발명에 따른 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법을 설명하기 위한 흐름도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
본 발명을 설명하기에 앞서 인공 지능(AI), 머신 러닝, 딥 러닝에 대해 설명한다. 이러한 세 가지 개념의 관계를 가장 쉽게 파악하는 방법은 세 개의 동심원을 가상하면 된다. 인공 지능이 가장 큰 원이고, 그 다음이 머신 러닝이며, 현재의 인공지능 붐을 주도하는 딥 러닝이 가장 작은 원이라 할 수 있다.
인공 지능이라는 개념은 1956년 미국 다트머스 대학에 있던 존 매카시 교수가 개최한 다트머스 회의에서 처음 등장했으며, 최근 몇 년 사이 폭발적으로 성장하고 있는 중이다. 특히 2015년 이후 신속하고 강력한 병렬 처리 성능을 제공하는 GPU의 도입으로 더욱 가속화되고 있죠. 갈수록 폭발적으로 늘어나고 있는 저장 용량과 이미지, 텍스트, 매핑 데이터 등 모든 영역의 데이터가 범람하게 된 빅데이터 시대의 도래도 이러한 성장세에 큰 영향을 미쳤다.
인공 지능 - 인간의 지능을 기계로 구현
1956년 당시 인공 지능의 선구자들이 꿈꾼 것은 최종적으로 인간의 지능과 유사한 특성을 가진 복잡한 컴퓨터를 제작하는 것이었다. 이렇듯 인간의 감각, 사고력을 지닌 채 인간처럼 생각하는 인공 지능을 ‘일반 AI(General AI)’라고 하지만, 현재의 기술 발전 수준에서 만들 수 있는 인공지능은 ‘좁은 AI(Narrow AI)’의 개념에 포함된다. 좁은 AI는 소셜 미디어의 이미지 분류 서비스나 얼굴 인식 기능 등과 같이 특정 작업을 인간 이상의 능력으로 해낼 수 있는 것이 특징이다.
머신 러닝 - 인공 지능을 구현하는 구체적 접근 방식
머신 러닝은 메일함의 스팸을 자동으로 걸러주는 역할을 합니다. 한편, 머신 러닝은 기본적으로 알고리즘을 이용해 데이터를 분석하고, 분석을 통해 학습하며, 학습한 내용을 기반으로 판단이나 예측을 수행한다. 따라서 궁극적으로는 의사 결정 기준에 대한 구체적인 지침을 소프트웨어에 직접 코딩해 넣는 것이 아닌, 대량의 데이터와 알고리즘을 통해 컴퓨터 그 자체를 ‘학습’시켜 작업 수행 방법을 익히는 것을 목표로 한다. 머신 러닝은 초기 인공 지능 연구자들이 직접 제창한 개념에서 나온 것이며, 알고리즘 방식에는 의사 결정 트리 학습, 귀납 논리 프로그래밍, 클러스터링, 강화 학습, 베이즈(Bayesian) 네트워크 등이 포함된다. 그러나 이 중 어느 것도 최종 목표라 할 수 있는 일반 AI를 달성하진 못했으며, 초기의 머신 러닝 접근 방식으로는 좁은 AI 조차 완성하기 어려운 경우도 많았던 것이 사실이다.
현재 머신 러닝은 컴퓨터 비전 등의 분야에서 큰 성과를 이뤄내고 있으나, 구체적인 지침이 아니더라도 인공 지능을 구현하는 과정 전반에 일정량의 코딩 작업이 수반된다는 한계점에 봉착하였다. 가령 머신 러닝 시스템을 기반으로 정지 표지판의 이미지를 인식할 경우, 개발자는 물체의 시작과 끝 부분을 프로그램으로 식별하는 경계 감지 필터, 물체의 면을 확인하는 형상 감지, ‘S-T-O-P’와 같은 문자를 인식하는 분류기 등을 직접 코딩으로 제작해야 한다. 이처럼 머신 러닝은 ‘코딩’된 분류기로부터 이미지를 인식하고, 알고리즘을 통해 정지 표지판을 ‘학습’하는 방식으로 작동된다.
머신 러닝의 이미지 인식률은 상용화하기에 충분한 성능을 구현하지만, 안개가 끼거나 나무에 가려서 표지판이 잘 보이지 않는 특정 상황에서는 이미지 인식률이 떨어지기도 한다. 최근까지 컴퓨터 비전과 이미지 인식이 인간의 수준으로 올라오지 못한 이유는 이 같은 인식률 문제와 잦은 오류 때문이다.
딥 러닝 - 완전한 머신 러닝을 실현하는 기술
초기 머신 러닝 연구자들이 만들어 낸 또 다른 알고리즘인 인공 신경망(artificial neural network)에 영감을 준 것은 인간의 뇌가 지닌 생물학적 특성, 특히 뉴런의 연결 구조였습니다. 그러나 물리적으로 근접한 어떤 뉴런이든 상호 연결이 가능한 뇌와는 달리, 인공 신경망은 레이어 연결 및 데이터 전파 방향이 일정합니다.
예를 들어, 이미지를 수많은 타일(tile)로 잘라 신경망의 첫 번째 레이어에 입력하면, 그 뉴런들은 데이터를 다음 레이어로 전달하는 과정을 마지막 레이어에서 최종 출력이 생성될 때까지 반복합니다. 그리고 각 뉴런에는 수행하는 작업을 기준으로 입력의 정확도를 나타내는 가중치가 할당되며, 그 후 가중치를 모두 합산해 최종 출력이 결정됩니다. 정지 표지판의 경우, 팔각형 모양, 붉은 색상, 표시 문자, 크기, 움직임 여부 등 그 이미지의 특성이 잘게 잘려 뉴런에서 ‘검사’되며, 신경망의 임무는 이것이 정지 표지판인지 여부를 식별하는 것입니다. 여기서는 충분한 데이터를 바탕으로 가중치에 따라 결과를 예측하는 ‘확률 벡터(probability vector)’가 활용된다.
딥 러닝은 인공신경망에서 발전한 형태의 인공 지능으로, 뇌의 뉴런과 유사한 정보 입출력 계층을 활용해 데이터를 학습합니다. 그러나 기본적인 신경망조차 굉장한 양의 연산을 필요로 하는 탓에 딥 러닝의 상용화는 초기부터 난관에 부딪혔다. 그럼에도 불구하고 연구자들의 연구는 지속됐고, 슈퍼컴퓨터를 기반으로 딥러닝 개념을 증명하는 알고리즘을 병렬화하는데 성공했다. 그리고 병렬 연산에 최적화된 GPU의 등장은 신경망의 연산 속도를 획기적으로 가속하며 진정한 딥러닝 기반 인공 지능의 등장을 불러왔다.
신경망 네트워크는 ‘학습’ 과정에서 수많은 오답을 낼 가능성이 크다. 정지 표지판의 예로 돌아가서, 기상 상태, 밤낮의 변화에 관계 없이 항상 정답을 낼 수 있을 정도로 정밀하게 뉴런 입력의 가중치를 조정하려면 수백, 수천, 어쩌면 수백만 개의 이미지를 학습해야 할지도 모른다. 이 정도 수준의 정확도에 이르러서야 신경망이 정지 표지판을 제대로 학습했다고 볼 수 있다. 2012년, 구글과 스탠퍼드대 앤드류 응(Andrew NG) 교수는 1만6,000개의 컴퓨터로 약 10억 개 이상의 신경망으로 이뤄진 ‘심층신경망(Deep Neural Network)’을 구현했다. 이를 통해 유튜브에서 이미지 1,000만 개를 뽑아 분석한 뒤, 컴퓨터가 사람과 고양이 사진을 분류하도록 하는데 성공했습니다. 컴퓨터가 영상에 나온 고양이의 형태와 생김새를 인식하고 판단하는 과정을 스스로 학습하게 한 것이다.
딥러닝으로 훈련된 시스템의 이미지 인식 능력은 이미 인간을 앞서고 있습니다. 이 밖에도 딥러닝의 영역에는 혈액의 암세포, MRI 스캔에서의 종양 식별 능력 등이 포함된다. 구글의 알파고는 바둑의 기초를 배우고, 자신과 같은 AI를 상대로 반복적으로 대국을 벌이는 과정에서 그 신경망을 더욱 강화해 나갔다. 딥러닝의 등장으로 인해 머신 러닝의 실용성은 강화됐고, 인공 지능의 영역은 확장됐다. 딥러닝은 컴퓨터 시스템을 통해 지원 가능한 모든 방식으로 작업을 세분화한다. 운전자 없는 자동차, 더 나은 예방 의학, 더 정확한 영화 추천 등 딥러닝 기반의 기술들은 우리 일상에서 이미 사용되고 있거나, 실용화를 앞두고 있다. 딥러닝은 공상 과학에서 등장했던 일반 AI를 실현할 수 있는 잠재력을 지닌 인공 지능의 현재이자, 미래로 평가받고 있다.
이하 딥러닝에 대해 좀 더 구체적으로 살펴본다.
딥러닝이란 인간의 신경망(Neural Network) 이론을 이용한 인공신경망(Artificial Neural Network, ANN)의 일종으로, 계층 구조(Layer Structure)로 구성하면서 입력층(Input layer)과 출력층(Output layer) 사이에 하나 이상의 숨겨진 층(Hidden layer)(이하, 중간층이라 지칭함)을 갖고 있는 심층 신경망(Deep Neural Network, DNN)을 지칭하는 기계학습(Machine Learning) 모델 또는 알고리즘의 집합입니다. 간단히 말하면, 딥러닝(Deep Learning)은 심층 계층을 가진 인공신경망이라 할 수 있다.
사람의 뇌는 250억 개의 신경세포로 구성되어 있다고 추정됩니다. 뇌는 신경세포로 이루어지며, 각각의 신경세포(뉴런, Neuron)는 신경망을 구성하는 신경세포 1개를 지칭한다. 신경세포는 1개의 세포체(cell body)와 세포체의 돌기인 1개의 축삭(Axon or nurite) 및 보통 여러 개의 수상돌기(dendrite or protoplasmic process)를 포함하고 있다. 이러한 신경세포들 간의 정보 교환은 시냅스라고 부르는 신경세포 간의 접합부를 통하여 전달됩니다. 신경세포 하나만 떼어 놓고 보면 매우 단순하지만, 이러한 신경세포들이 모이면 인간의 지능을 지닐 수 있다. 수상돌기에서 다른 신경세포들이 보내는 신호를 전달받는 부분(Input)이고 축색돌기는 세포체로부터 아주 길게 뻗어가는 부분으로 다른 신경세포에 신호를 전달하는 부분(Output)이다. 신경세포들 사이의 신호를 전달해주는 축색돌기와 수상돌기 간을 연결해주는 시냅스라는 연결부가 있는데, 신경세포의 신호를 무조건 전달하는 것이 아니라, 신호 강도가 일정한 값(임계치, Threshold) 이상이 되어야 신호를 전달하는 것이다. 즉, 각 시냅스마다 연결강도가 다를 뿐만 아니라 신호를 전달할지 말지를 결정하게 되는 것이다.
인공지능의 한 분야인 인공신경망(ANN)은 생물학(통상 인간)의 뇌 구조(신경망)를 모방하여 모델링한 수학적 모델이다. 즉, 인공신경망은 이러한 생물학적 신경세포의 정보처리 및 전달 과정을 모방하여 구현한 것이다. 인간의 뇌가 문제를 해결하는 방식과 유사하게 구현한 것으로서 신경망은 각 신경세포가 독립적으로 동작하는 하기 때문에 병렬성이 뛰어나다. 또한 많은 연결선에 정보가 분산되어 있어서 몇몇 신경세포에 문제가 발생해도 전체에 큰 영향을 주지 않으므로 일정 수준의 오류에 강하고 주어진 환경에 대한 학습 능력을 갖고 있다.
심층신경망(Deep neural network)는 인공신경망의 후손이라 볼 수 있으며, 기존의 한계를 뛰어넘어서 과거에 수많은 인공 지능 기술이 실패를 겪었던 영역에 성공 사례를 거두고 인공신경망의 최신 버전이다. 생물학적 신경망을 모방하여 인공신경망을 모델링한 내용을 살펴보면 처리 단위(Processing unit) 측면에서는 생물적인 뉴런(neurons)이 노드(nodes)로, 연결성(Connections)은 시냅스(Synapse)가 가중치(weights)로 다음 표 1과 같이 모델링 되었다.
생물학적 신경망 인공신경망
세포체 노드(node)
수상돌기 입력(input)
축삭(Axon) 출력(output)
시냅스 가중치(weight)
도 1은 인공신경망의 계층 구조(layer structure)를 예시한 도면이다.
인간의 생물학적 신경세포가 하나가 아닌 다수가 연결되어 의미 있는 작업을 하듯, 인공신경망의 경우도 개별 뉴런들을 서로 시냅스를 통해 서로 연결시켜서 복수개의 계층(layer)이 서로 연결되어 각 층간의 연결 강도는 가중치로 수정(update) 가능합니다. 이와 같이 다층 구조와 연결강도로 학습과 인지를 위한 분야에 활용됩니다.
각 노드들은 가중치가 있는 링크들로 연결되어 있고, 전체 모델은 가중치를 반복적으로 조정하면서 학습을 한다. 가중치는 장기 기억을 위한 기본 수단으로서 각 노드들의 중요도를 표현한다. 간단히 이야기하면, 인공신경망은 이들 가중치를 초기하고 훈련시킬 데이터 세트로 가중치를 갱신하여 조정하여 전체 모델을 훈련시키는 것입니다. 훈련이 완료된 후에 새로운 입력값이 들어오면 적절한 출력값을 추론해 내게 된다. 인공신경망의 학습원리는 경험의 일반화로부터 지능이 형성되는 과정이라고 보면 되고 bottom-up 방식으로 이루어지게 된다. 도 1에서 중간층이 2개 이상(즉 5~10개)일 경우를 층이 깊어진다고 보고 심층신경망(Deep Neural Network)이라 하며, 이러한 심층신경망을 통해서 이루어진 학습과 추론 모델을 딥 러닝이라고 지칭할 수 있다.
인공신경망은 입력과 출력을 제외하고 하나의 중간계층(통상적으로 은닉계층, 'hidden layer'라 지칭함)을 가지고 있어도 어느 정도의 역할을 수행할 수 있지만, 문제의 복잡도가 커지면 노드의 수 또는 계층의 수를 증가시켜야 한다. 이 중에서 계층의 수를 증가시켜 다층구조 모델을 가져가는 것이 효과적인데, 효율적인 학습이 불가능하고 네트워크를 학습하기 위한 계산량이 많다는 한계로 인해 활용 범위가 제한적이다.
그러나, 위와 같이 기존의 한계점이 극복됨으로써, 인공신경망은 깊은 구조(Deep Structure)를 가져갈 수 있게 되었습니다. 이로 인해 복잡하고 표현력 높은 모델을 구축할 수 있게 되어 음성인식, 얼굴인식, 물체인식, 문자인식 등 다양한 분야에서 획기적인 결과들이 발표되고 있다.
도 2는 심층 신경망의 일 예를 도시한 도면이다.
심층 신경망(Deep Neural Network, DNN)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다. 입력층(Input layer)과 출력층(Output layer) 사이에 하나 이상의 은닉계층(Hidden layer)을 갖고 있는 심층 신경망(Deep Neural Network, DNN)을 지칭하는 머신 러닝(기계학습(Machine Learning)) 모델 또는 알고리즘의 집합이다. 신경망의 연결은 입력층에서 은닉계층으로, 은닉계층에서 출력층으로 이루어진다.
심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다. 예를 들어, 물체 식별 모델을 위한 심층 신경망 구조에서는 각 물체가 영상의 기본적 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모인 하위 계층들의 특징들을 규합시킬 수 있다. 심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해준다.
이전의 심층 신경망들은 보통 앞먹임 신경망으로 설계되어 왔지만, 최근의 연구들은 심층 학습 구조들을 순환 신경망(Recurrent Neural Network, RNN)에 성공적으로 적용했다. 일례로 언어 모델링(language modeling) 분야에 심층 신경망 구조를 적용한 사례 등이 있다. 합성곱 신경망(Convolutional Neural Network, CNN)의 경우에는 컴퓨터 비전(computer vision) 분야에서 잘 적용되었을 뿐만 아니라, 각각의 성공적인 적용 사례에 대한 문서화 또한 잘 되어 있다. 더욱 최근에는 합성곱 신경망이 자동음성인식(Automatic Speech Recognition, ASR)을 위한 음향 모델링(acoustic modeling) 분야에 적용되었으며, 기존의 모델들 보다 더욱 성공적으로 적용되었다는 평가를 받고 있다. 심층 신경망은 표준 오류역전파 알고리즘으로 학습될 수 있다. 이때, 가중치(weight)들은 아래의 등식을 이용한 확률적 경사 하강법(stochastic gradient descent)을 통하여 갱신될 수 있다.
심전도(Electrocardiogram, ECG)란 심장이 수축함에 따라 심박동과 함께 발생하는 전위차를 곡선으로 기록한 것이다. 심장은 자동적, 율동적인 수축을 한다는 점에서 생체내의 다른 부분의 근육에 비해 특이하다. 심장근육의 수축은 생명체의 전기를 공급하는 발전기와 같다. 즉 수축을 일으키는 원동력이 심방의 동방결절에서 발생되는 미세한 전류 인 것이다. 이 미약한 전류가 심장근육을 통하면서 신체내에 전류가 흐르게 되고, 이 전류를 신체의 표면에서 기록할 수 있게 된다. 이를 기록하는 장치를 심전도(Electrocardiography) 센서부(ECG 센서)라 하고, 이 기록을 심전도(Electrocardiogram, ECG), 심전도 데이터, 혹은 심전도 신호라고 한다.
딥러닝은 이미지, 음성 등과 같은 복잡한 신호 데이터로부터 핵심적인 특징을 효과적으로 추출하는데 큰성과를 이루고 있다. 그러나, 딥러닝 모델의 성능을 높이기 위한 충분한 데이터양을 수집하는 것에 대한 어려움으로 인하여 GAN(Generative Adversarial Network)과 같은 모델을 이용하여 데이터를 인공적으로 생성하는 연구가 진행되고 있다. GAN은 랜덤 벡터를 입력으로 받아 실제 데이터와 유사한 데이터를 생성하는 방향으로 학습된다. 이 과정에서 실제 데이터에 대한 개별적 특징 또한 학습될 수 있다.
의료 분야에서 데이터 수집 양의 한계가 보고됨에 따라 GAN을 이용하여 심혈관 질환의 핵심적인 생리학적 신호인 ECG(electrocardiogram) 데이터를 생성하는 연구가 필요하다. 그러나 ECG는 개인에 따라 고유한 신호 특징을 가지기 때문에 GAN을 통해 생성된 데이터 또한 개인별로 잘 분류되어야 한다. 이에 따라 본 발명에서는 CNN(Convolution NeuralNetwork) 기반 GAN 모델을 이용하여 인공적으로 생성된 ECG 데이터가 개인을 잘 구분할 수 있도록 학습하고 그에 대한 결과를 제시하고자 한다.
도 3는 사용자 인증 시 사용자 정보를 보호하기 위한 시스템 구조를 도시한 도면이고, 도 4는 본 발명에 따른 사용자 인증 시 사용자 정보를 보호하기 위한 단말기의 구성을 나타낸 블록도이다.
도 3을 참조하면, 사용자 인증 시 사용자 정보를 보호하기 위한 시스템은 단말기(100), 서버(200) 및 외부기기(예, 웨어러블 디바이스로서 스마트워치 등임)(이하, 웨어러블 디바이스라고 칭함)를 포함할 수 있다. 도 3에서는 웨어러블 디바이스(300)와 단말기(100)가 별개의 디바이스로 도시 및 설명하고 있으나 이는 일 예일 뿐이며, 웨어러블 디바이스(300)와 단말기(100)가 통합된 하나의 디바이스형태의 실시예로도 구현이 가능하다.
이하 도 3에 기초하여 설명하기로 한다. 도 3에 따른 사용자 인증 시 사용자 정보를 보호하기 위한 시스템에서 웨어러블 디바이스(300)는 ECG 센서부(310) 및 통신부(320)를 포함할 수 있다. 웨어러블 디바이스(300)의 ECG 센서부(310)는 사용자의 생체 신호를 센싱하여 심전도(Electrocardiogram, ECG) 데이터를 추출한다. 웨어러블 디바이스(300)의 통신부(320)는 무선 통신 등에 통해 센싱된 ECG 데이터를 단말기(100)로 전송할 수 있다. 여기서, 웨어러블 디바이스(300) 및 단말기(100)는 동일한 사용자의 기기들일 수 있다.
도 3에 따른 시스템 구조에서의 단말기(100)는 프로세서(110), 통신부(120) 및 메모리(130)를 포함할 수 있다. 한편, 상술한 바와 같이 웨어러블 디바이스(300)와 단말기(100)가 통합된 하나의 디바이스형태의 실시예로도 구현되는 경우에는 단말기(100)는 프로세서(110), 통신부(120), 메모리(130) 외에 ECG 센서부(140)을 더 포함한다.
도 3을 참조하면, 서버(200)는 개인인증을 위한 모델로서 개인인증 딥러닝 모델을 학습시키고 학습된 개인인증을 위한 딥러닝 모델을 구비하고 있다. 서버(200)는 단말기(100)로부터 ECG 데이터들을 수신하여 개인인증하는 딥러닝 모델을 업데이트한다. 서버(200)의 구체적 사항에 대해서는 후술하기로 한다.
단말기(100)의 통신부(120)는 웨어러블 디바이스(300)로부터 ECG 데이터를 수신할 수 있다. ECG 데이터로부터 연령, 성별, 병명 등에 대한 평가 및 진단 가능하기 때문에 ECG 데이터가 유출되었을 시 병명 등과 같은 개인 정보도 함께 유출될 수 있다. 따라서, ECG 데이터로부터 병명 등의 개인정보가 유출되지 않도록 할 필요가 있다. 특히, ECG 데이터의 경우 심장질환 환자 등의 경우에는 정상 데이터(Normal 데이터) 외에 심장질환과 관련된 데이터(예를 들어, Arrhythmia 데이터)가 존재할 수 있다. 이러한 심장질환과 관련된 데이터의 유출을 방지하기 위하여, 단말기(100)의 프로세서(110)는 수신된 사용자의 ECG 데이터를 소정의 기계학습된 모델(예를 들어, Multi-task learning 알고리즘에 따라 기계학습된 모델)에 적용하여 사용자를 인증하고 수신된 ECG 데이터에서 이 사용자의 심장질환과 관련된 데이터(예를 들어, Arrhythmia 데이터)가 있는지 여부를 판단한다. 즉, 프로세서(110)는 수신된 ECG 데이터를 Multi-Task learning 알고리즘에 따라 학습된 모델을 적용함으로써 ECG 데이터를 사용하여 개인 인증 및 부정맥 데이터의 분류, 추출 등과 같은 작업을 하나의 기계학습 모델을 통해 처리할 수 있다. 프로세서(110)는 웨어러블 디바이스(300)로부터 수신된 ECG 데이터에 대해 전처리(pre-filtering)을 수행한 후에 Multi-task learning 알고리즘에 따라 기계학습된 모델에 적용할 수 있다.
다음 표 2는 AAMI 부정맥 분류 기준에 대한 표이다.
Description Best Type
N Normal
S Supraventricular premature
V Ventricular premature
F Funtion premature
Q Unclassifiable
본 발명에서 사용된 데이터셋(dataset)은 MIT-BIH Arrhythmia database이며 일반적으로 많이 사용되는 lead 2 ECG가 사용되었고, Sampling rate 는 360Hz 이며, AAMI 부정맥 분류 기준에 의하여 상기 표 2와 같이 5개의 클래스로 분류하였다. 본 발명에서는 5개의 class 중 N class를 정상 데이터 ECG로 사용하고 나머지 S, V, F, Q class를 하나의 심장질환과 관련된 데이터(즉, 하나의 부정맥 데이터)로 구분하여 사용하였다.
프로세서(110)는 Multi-task learning 알고리즘에 따라 기계학습된 모델에 기초하여 사용자 인증을 수행함과 동시에 ECG 데이터를 정상 데이터 및 심장질환과 관련된 데이터로 분류해 낼 수 있다. 이 경우, ECG 데이터
만약, 프로세서(110)가 수신된 ECG 데이터로부터 Multi-task learning 알고리즘에 따라 기계학습된 모델에 기초하여 심장질환과 관련된 데이터(예, 부정맥 데이터)가 있다고 판단하여 분류한 경우, 프로세서(110)는 수신된 ECG 데이터 중에서 분류된 심장질환과 관련된 데이터를 소정의 기계학습된 모델(일 예로서, Generative Adversarial Network (GAN) 알고리즘에 따라 학습된 모델)에 입력시킨다. 여기서, 상기 Multi-task learning 알고리즘에 따라 학습된 모델을 적용하는 프로세서와 GAN 알고리즘에 따라 학습된 모델을 적용하는 프로세서는 하나의 프로세서(110)일 수도 있고 서로 다른 프로세서 일 수도 있다. 이하에서는 설명의 편의를 위해 프로세서(110)에서 상기 2개의 기계학습된 모델을 모두 적용하는 것으로 예시하여 설명한다.
프로세서(110)는 GAN 알고리즘에 따라 학습된 모델에 ECG 데이터(예, 부정맥 데이터)를 입력받는다. 먼저, GAN 및 GAN 알고리즘에 따라 학습된 모델에 대해 설명한다.
도 5는 GAN(Generative Adversarial Network) 학습 모델의 구조를 예시한 도면이다.
딥러닝은 이미지, 음성 등과 같은 복잡한 신호 데이터로부터 핵심적인 특징을 효과적으로 추출하는데 큰성과를 이루고 있다. 그러나, 딥러닝 모델의 성능을 높이기 위한 충분한 데이터양을 수집하는 것에 대한 어려움으로 인하여 GAN(Generative Adversarial Network)과 같은 모델을 이용하여 데이터를 인공적으로 생성하는 연구가 필요하다. GAN은 랜덤 벡터를 입력으로 받아 실제 데이터와 유사한 데이터를 생성하는 방향으로 학습된다. 이 과정에서 실제 데이터에 대한 개별적 특징 또한 학습될 수 있다. 의료 분야에서 데이터 수집 양의 한계가 보고됨에 따라 GAN을 이용하여 심혈관 질환의 핵심적인 생리학적 신호인 ECG(electrocardiogram) 데이터를 생성하는 연구가 필요하다. 그러나 ECG는 개인에 따라 고유한 신호 특징을 가지기 때문에 GAN을 통해 생성된 데이터 또한 개인별로 잘 분류되어야 한다. 이에 따라 본 발명에서는 CNN(Convolution Neural Network) 기반 GAN 모델을 이용하여 인공적으로 생성된 ECG 데이터가 개인을 잘 구분할 수 있도록 학습하고 그에 대한 결과를 제시하였다.
GAN은 '생성적 적대 신경망'의 약자로, 생성자(Generator)(520)와 구분자(550)(Discriminator)가 서로 경쟁(Adversarial)하며 데이터를 생성(Generative)하는 모델(Network)을 의미한다. 만약, GAN으로 인물 사진을 생성해 낸다면, 인물 사진을 만들어내는 것을 생성자(520)라고 하며, 만들어진 인물 사진을 평가하는 것을 구분자(550)라고 한다. 생성자(520)와 구분자(550)가 서로 대립하며(Adversarial) 서로의 성능을 점차 개선해 나가는 쪽으로 학습이 진행되는 것이 주요 개념이다. 머신러닝은 크게 3가지 개념 지도학습/강화학습/비지도학습 으로 분류되는데, GAN은 '비지도 학습'에 해당한다.
도 5를 참조하면, 랜덤 벡터 Z는 프로세서(110)가 Multi-task learning 알고리즘에 따라 학습된 모델에 적용하여 분류해 낸 심장질환과 관련된 ECG 데이터(예, 부정맥 데이터)이다. 생성자(520)는 생성된 심장질환과 관련된 데이터(510)를 입력받아 실제 데이터와 유사한 데이터를 유사(fake) 데이터를 만들어내도록 학습된다. 생성자(520)는 입력된 심장질환과 관련된 데이터에 대해 유사(fake) 데이터(가짜 데이터, 모조 데이터 등 다양하게 호칭될 수 있음)를 생성하는데, 이 유사(fake) 데이터는 심장질환과 관련된 데이터를 감추면서 사용자 별 ECG 특징점(들)을 포함하여 사용자(혹은 개인) 인증이 되도록 하는 유사(fake) ECG 데이터(530)이다. 구분자(550)는 실제 데이터(540)와 생성자(520)가 생성한 유사(fake)데이터(530)를 구별하도록 학습된다.
상술한 2개의 기계학습된 모델에서 Multi-task learning 알고리즘에 따라 학습된 모델을 제 1 기계학습된 모델, GAN 알고리즘에 따라 학습된 모델은 제 2 기계학습된 모델이라고 간편하게 칭하여 이하 설명한다.
프로세서(110)는 제 1 기계학습된 모델의 출력값 중 하나인 사용자의 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 입력하여 제 2 기계학습된 모델을 적용하여 유사(fake) ECG 데이터를 생성한다. 이 유사(fake) 데이터는 심장질환과 관련된 데이터를 감추면서 상기 사용자가 인증되도록 하는 혹은 인증될 수 있게 ㅎ하는 ECG 데이터(예, 사용자가 인증 가능하도록 하는 ECG 특징점(들)을 포함하는 ECG 데이터)를 출력한다.
통신부(120)는 상기 출력(생성)된 유사(fake) ECG 데이터를 서버(200)로 전송할 수 있다. 또한, 프로세서(110)는 수신된 ECG 데이터로부터 심장질환과 관련된 데이터가 아닌 정상 데이터(ECG 정상 데이터)를 분류해 낼 수 있고, 통신부(120)는 심장질환과 관련된 데이터가 아닌 정상 데이터는 제 2 기계학습된 모델에 적용하지 않고 바로 서버(300)로 전송한다. 개인 마다 ECG 신호 중 정상 데이터는 시간이 지나면 바뀔 수 있기 때문에 단말기(100)는 ECG 신호 중 정상 데이터를 서버(200)로 전송해 줄 필요가 있다.
서버(200)는 정상 데이터를 단말기(100)로부터 수신하여 소정의 개인인증하는 딥러닝 모델을 업데이트한다. 서버(200)는 이미 사용자 별 ECG 정보가 저장된 딥러닝 모델을 구비하고 있으며, 단말기(100)로부터 정상 데이터 및/또는 제 2 기계학습된 모델의 출력인 심장질환과 관련된 데이터는 감추면서 개인 인증이 가능하도록 하는 유사(fake) ECG 데이터를 수신하여 기존의 개인인증 딥러닝 모델을 업데이트한다.
서버(200)는 개인인증과 관련된 딥러닝 모델이 업데이트되는 경우 소정의 주기로 단말기(100)로 전송해 줄 수 있다. 단말기(100)는 사전에 서버(200)로부터 개인인증과 관련된 학습 모델을 수신하는 등의 방법으로 저장하고 있을 수 있다. 단말기(100)는 서버(200)로부터 업데이트된 사항을 수신한 후 업데이트된 사항에 기초하여 이후 사용자 인증을 수행할 수 있다.
도 4를 참조하면, 단말기(100)는 사용자의 생체 신호를 센싱하여 ECG 데이터를 추출하는 ECG 센서부(140)를 구비할 수도 있다. 이 경우에는 외부기기인 웨어러블 디바이스(300)으로부터 ECG 데이터를 수신할 필요가 없다. 이때, 프로세서(110)는 ECG 데이터를 제 1 기계학습된 모델에 적용하여 사용자를 인증하고 ECG 데이터에서 심장질환과 관련된 데이터를 분류해 내어 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단해 낸다.
프로세서(110)는 ECG 데이터에 심장질환과 관련된 데이터가 있는 경우에는, 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 심장질환과 관련된 데이터를 감추면서 상기 사용자가 인증될 수 있도록 하는 ECG 데이터를 생성할 수 있다. 여기서, 심장질환과 관련된 데이터를 감춘다는 것은 심장질환과 관련된 데이터로 식별되거나 보이지 않도록 유사(fake) 데이터를 생성한다는 의미일 수 있다.
이상에서 설명한 단말기(110)는 웨어러블 디바이스(300)과 같은 스마트워치 등의 웨어러블 디바이스, 스마트 폰, 테블리탭 등 다양한 형태일 수 있다.
본 발명에서 도 5에서 기술된 GAN 알고리즘에 따른 학습 모델은 입력 데이터에 대하여 개인의 고유한 특징점을 추출하기 위한 3개의 1D-CNN layer를 사용하였고 입력 데이터의 순차적 처리를 위한 1개의 LSTM layer를 사용하였다. 개인인증 방법으로는 자신과 타인을 분류하는 Binary classification을 진행하는 것을 고려하였다.
도 6은 본 발명에 따른 GAN 알고리즘에 따른 학습 모델을 통해 생성된 ECG를 도시한 도면이다.
본 발명에서 GAN 알고리즘에 따른 학습 모델은 학습을 위해 총 13명의 데이터가 사용되었고 각 ECG 데이터는 170ms 단위로 개인별 150개의 ECG 샘플을 사용하였다. 도 6에 도시된 바와 같이, 입력 데이터로 사용된 심장질환과 관련된 데이터(예, 부정맥 데이터)에 대해여 생성된 GAN 데이터는 실제 데이터와 거의 유사한 형태를 나타내고 있음을 알 수 있다. 또한, 다음 표 3은 심장질환과 관련된 데이터를 본 발명에 따른 GAN 알고리즘에 따른 학습 모델에 적용한 후 개인인증 모델을 통해 나타낸 성능이다. 자신과 타인의 식별 정확도(Accuracy)는 99.68 ±0.41% 로 이에 따른 정밀도(precision)는 99.81% ±1.83%로 측정되었으며, 재현율(recall)은 97.08 ± 5.63%로 나타나서 성능이 매우 우수한 것으로 증명되었다.
Accuracy Precision Recall
Mean ± Std 0.9968 ± 0.0041 0.9881 ± 0.0183 0.9708 ± 0.0563
본 발명에서 Neural Network 구조를 사용하여 실제와 유사한 ECG 데이터를 생성하는 GAN 모델을 이용하였다. 또한 GAN을 통해 생성된 ECG 데이터와 실제데이터와의 개인인증 성능을 비교함으로써 GAN을 통해 생성된 ECG 데이터가 개인을 잘 구분하고 있음을 증명하였다.
이와 같이, 본 발명에 따라 실시간으로 측정된 심전도 데이터를 모바일 개인 인증 시스템을 통해 인증이 필요할 때마다 보안의 위협을 감소하며 개인 인증할 수 있다. 또한, 본 발명에 따라 모바일 개인 인증 시스템으로 모바일 디바이스와 같이 휴대용 장치 사용으로 단순하고 편리한 접근성과 강력한 보안성을 가진 생체 측정 인증 접근 방식으로 사용자의 심전도 데이터로부터 판별 가능한 민감한 정보(본 발명에서는 부정맥)를 감추는 동시에 사용자의 신원을 인증하는 시스템을 구현할 수 있게 되었다.
본 발명이 적용 가능한 제품, 서비스로는 개인 인증이 필요한 시스템(모바일 인증 시스템, 모바일 뱅킹), 헬스케어용 웨어러블 디바이스, 신호처리용 소형 디바이스, 환자의 신원 인증이 필요한 의료군(응급실, 보건소 등). 개인 정보 유출에 민감한 구역(군부대), 시계열 데이터 분석 센서 등 다양한 분야에서 활용될 수 있다.
도 7은 본 발명에 따른 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 단말기(100)는 사용자의 생체 신호를 센싱하여 추출한 ECG 데이터를 웨어러블 디바이스(300)로부터 수신할 수 있다(S710). 혹은 단말기(100)는 ECG 센서부(140)를 구비하여 사용자의 생체 신호를 센싱하여 심전도(Electrocardiogram, ECG) 데이터를 추출할 수도 있다.
단말기(100)는 ECG 데이터를 제 1 기계학습된 모델에 적용하여 사용자를 인증하고 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 여부를 판단/결정한다(S720). ECG 데이터에 심장질환과 관련된 데이터가 있는 경우 단말기(100)는 심장질환과 관련된 데이터를 제 2 기계학습된 모델에 적용하여 심장질환과 관련된 데이터를 감추되 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성/출력한다(S730), 단말기(100)는 유사(fake)ECG 데이터를 서버로 전송한다(S740). 도 7에 도시하지는 않았으나 S720 단계인 사용자를 인증하고 ECG 데이터에서 심장질환과 관련된 데이터가 있는지 판단하는 단계는 ECG 데이터에서 정상 데이터와 심장질환과 관련된 데이터를 분류해 내는 단계를 포함할 수 있다. 그리고, 단말기(100)는 ECG 데이터에서 분류된 정상 데이터는 제 1 기계학습된 모델(예, Multi-task learning 알고리즘에 따라 학습된 모델)에 적용하지 혹은 입력하지 않고 바로 서버(200)로 전송할 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에서 프로세서(110)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 하드웨어를 이용하여 본 발명의 실시예를 구현하는 경우에는, 본 발명을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 프로세서(110)에 구비될 수 있다. 본 발명에 따른 사용자 인증 시 사용자 정보 유출 방지 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수도 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (13)

  1. 사용자 인증 시 사용자 정보 유출을 방지하기 위한 단말기에 있어서,
    사용자의 생체 신호를 센싱하여 추출한 심전도(Electrocardiogram, ECG) 데이터를 외부 기기로부터 수신하는 통신부; 및
    상기 ECG 데이터를 학습된 멀티-태스크 러닝(Multi-task learning) 모델을 이용하여 상기 사용자에 대한 인증을 수행함과 동시에 상기 ECG 데이터를 소정의 부정맥 분류 기준에 따라 5개의 부정맥 클래스로 분류하고,
    상기 ECG 데이터에서 상기 5개의 부정맥 클래스의 S 클래스, V 클래스, F 클래스 및 Q 클래스에 대응하는 부정맥 데이터를 학습된 Generative Adversarial Network (GAN) 모델에 적용해 상기 부정맥 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하여 상기 통신부가 상기 유사 ECG 데이터를 서버로 전송하도록 제어하고,
    상기 ECG 데이터에서 N 클래스 대응하는 정상 데이터는 상기 학습된 GAN 모델에 적용하지 않고 상기 통신부가 상기 정상 데이터를 상기 서버로 전송하도록 제어하는 프로세서를 포함하는, 단말기.
  2. 제 1항에 있어서,
    상기 통신부는 상기 유사(fake) ECG 데이터를 서버로 전송하는, 단말기.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 사용자 인증 시 사용자 정보 유출을 방지하기 위한 단말기에 있어서,
    통신부;
    사용자의 생체 신호를 센싱하여 심전도(Electrocardiogram, ECG) 데이터를 추출하는 ECG 센서부; 및
    상기 ECG 데이터를 학습된 멀티-태스크 러닝(Multi-task learning) 모델을 이용하여 상기 사용자에 대한 인증을 수행함과 동시에 상기 ECG 데이터를 소정의 부정맥 분류 기준에 따라 5개의 부정맥 클래스로 분류하고,
    상기 ECG 데이터에서 상기 5개의 부정맥 클래스의 S 클래스, V 클래스, F 클래스 및 Q 클래스에 대응하는 부정맥 데이터를 학습된 Generative Adversarial Network (GAN) 모델에 적용해 상기 부정맥 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하여 상기 통신부가 상기 유사 ECG 데이터를 서버로 전송하도록 제어하고,
    상기 ECG 데이터에서 N 클래스 대응하는 정상 데이터는 상기 학습된 GAN 모델에 적용하지 않고 상기 통신부가 상기 정상 데이터를 상기 서버로 전송하도록 제어하는 프로세서를 포함하는, 단말기.
  7. 제 6항에 있어서,
    상기 통신부는 상기 유사(fake) ECG 데이터를 서버로 전송하는, 단말기.
  8. 삭제
  9. 제 6항에 있어서,
    상기 단말기는 웨어러블 디바이스 또는 스마트폰을 포함하는, 단말기.
  10. 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법에 있어서,
    사용자의 생체 신호를 센싱하여 추출한 심전도(Electrocardiogram, ECG) 데이터를 외부 기기로부터 수신하는 단계;
    상기 ECG 데이터를 학습된 멀티-태스크 러닝(Multi-task learning) 모델을 이용하여 상기 사용자에 대한 인증을 수행함과 동시에 상기 ECG 데이터를 소정의 부정맥 분류 기준에 따라 5개의 부정맥 클래스로 분류하는 단계;
    상기 ECG 데이터에서 상기 5개의 부정맥 클래스의 S 클래스, V 클래스, F 클래스 및 Q 클래스에 대응하는 부정맥 데이터를 학습된 Generative Adversarial Network (GAN) 모델에 적용해 상기 부정맥 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하여 상기 통신부가 상기 유사 ECG 데이터를 서버로 전송하도록 제어하는 단계; 및
    상기 ECG 데이터에서 N 클래스 대응하는 정상 데이터는 상기 학습된 GAN 모델에 적용하지 않고 상기 통신부가 상기 정상 데이터를 상기 서버로 전송하도록 제어하는 단계를 포함하는, 사용자 인증 시 사용자 정보 유출 방지 방법.
  11. 단말기가 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법에 있어서,
    사용자의 생체 신호를 센싱하여 심전도(Electrocardiogram, ECG) 데이터를 추출하는 단계;
    상기 ECG 데이터를 학습된 멀티-태스크 러닝(Multi-task learning) 모델을 이용하여 상기 사용자에 대한 인증을 수행함과 동시에 상기 ECG 데이터를 소정의 부정맥 분류 기준에 따라 5개의 부정맥 클래스로 분류하는 단계;
    상기 ECG 데이터에서 상기 5개의 부정맥 클래스의 S 클래스, V 클래스, F 클래스 및 Q 클래스에 대응하는 부정맥 데이터를 학습된 Generative Adversarial Network (GAN) 모델에 적용해 상기 부정맥 데이터를 감추되 상기 사용자가 인증되도록 하는 유사(fake) ECG 데이터를 생성하여 상기 통신부가 상기 유사 ECG 데이터를 서버로 전송하도록 제어하는 단계; 및
    상기 ECG 데이터에서 N 클래스 대응하는 정상 데이터는 상기 학습된 GAN 모델에 적용하지 않고 상기 통신부가 상기 정상 데이터를 상기 서버로 전송하도록 제어하는 단계를 포함하는, 사용자 인증 시 사용자 정보 유출 방지 방법.
  12. 제 10항에 기재된 사용자 인증 시 사용자 정보 유출 방지 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  13. 제 11항에 기재된 사용자 인증 시 사용자 정보 유출 방지 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210146048A 2021-10-28 2021-10-28 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치 KR102535632B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210146048A KR102535632B1 (ko) 2021-10-28 2021-10-28 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210146048A KR102535632B1 (ko) 2021-10-28 2021-10-28 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230061126A KR20230061126A (ko) 2023-05-08
KR102535632B1 true KR102535632B1 (ko) 2023-05-26

Family

ID=86381844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210146048A KR102535632B1 (ko) 2021-10-28 2021-10-28 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102535632B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102427287B1 (ko) * 2020-02-24 2022-08-01 주식회사 에이티센스 기계 학습 기반의 심장질환 예측 모델 구축 장치, 심장질환 예측 모델 구축 방법, 기계 학습 기반으로 구축된 모델을 이용하여 심장질환 여부를 출력하는 심장질환 측정 장치, 방법 및 상기 방법들을 실행하기 위한 컴퓨터 프로그램들

Also Published As

Publication number Publication date
KR20230061126A (ko) 2023-05-08

Similar Documents

Publication Publication Date Title
Lynn et al. A deep bidirectional GRU network model for biometric electrocardiogram classification based on recurrent neural networks
Asim et al. Context-aware human activity recognition (CAHAR) in-the-Wild using smartphone accelerometer
US7630521B2 (en) Biometric identification apparatus and method using bio signals and artificial neural network
CN111190487A (zh) 一种建立数据分析模型的方法
KR20210085867A (ko) 사용자의 혈압을 추정하기 위한 장치 및 방법
Dargazany et al. WearableDL: wearable internet-of-things and deep learning for big data analytics—concept, literature, and future
CN105989266A (zh) 基于心电信号的认证方法、装置及系统
Babu et al. Multimodal approach for cognitive task performance prediction from body postures, facial expressions and EEG signal
KR20210067815A (ko) 사용자의 건강 상태를 측정하기 위한 방법 및 이를 위한 장치
Nigam et al. An improved approach for stress detection using physiological signals
Uddin et al. Activity recognition using smartphone sensors, robust features, and recurrent neural network
KR102535632B1 (ko) 사용자 인증 시 사용자 정보 유출을 방지하기 위한 방법 및 장치
Kang et al. A Visual Variability and Visuo‐Tactile Coordination Inspired Child Adaptation Mechanism for Wearable Age Group Recognition and Activity Recognition
US20160321538A1 (en) Pattern Recognition System and Method
KR102394615B1 (ko) 사용자의 손목에 착용가능한 혈압 측정 장치
KR102159797B1 (ko) 사용자 인증 장치 및 방법
Patil et al. How can emotions be classified with ecg sensors, ai techniques and iot setup?
Rathod et al. Wading corvus optimization based text generation using deep CNN and BiLSTM classifiers
Kindsvater et al. Fusion architectures for multimodal cognitive load recognition
Tunç et al. Development of face recognition system by using deep learning and face-net algorithm in the operations processes
Sun et al. Dual Expression Fusion: A Universal Microexpression Recognition Framework
Alsalamah et al. Clinical practice for diagnostic causes for obstructive sleep apnea using artificial intelligent neural networks
Prasad et al. Classification of Human Activities using CNN with Principal Component Analysis
KR20230099494A (ko) 누워 지내는 환자를 헬스케어하기 위한 장치
Swetha et al. Pain Assessment Model using Facial Recognition

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant