임도형
• 사람의 손이 아닌 기계가 알아서 하면 인공지능이다.
• 전문가의 지식을 하드코딩 할 수도 있고(전문가 시스템)
• 데이터에서 로직을 찾을 수도 있다.(머신러닝)
인공지능(AI; Artificial Intelligence)
• 인공지능의 한 분야
• 데이터에서 가치를 찾아내는 것
• 아주 다양한 방법이 있다.
• SVM, 의사결정트리, Random Forest, Bayesian, K-Means Clustering,
K-NN, Neural Network
머신러닝(ML; Machine Learning)
• 신경망(NN; Neural Network)을 사용한 머신러닝 방법
• 신경망의 은닉층이 많아서(deep) DNN(Deep NN)이라 부른다
딥러닝(DL; Deep Learning)
2012년 AI 부활
2016년 화려한 복귀
• DNN과 NN은 별 차이 없다.
• NN: AI에 대한 엄청난 기대와 그 만큼의 실망.
• 최근 뚜렷한 성과를 보이면서 다시 큰 관심.
• DNN: 실망했던 용어를 대신하여 붐을 일으키기 위한 용어.
심층신경망과 신경망
• 인간이 고안한 알고리즘이건 기계가 학습한 알고리즘 이건, 기
계가 스스로 처리하면 AI
• 기계가 학습하는 경우가 ML
• 그중 신경망을 사용하는 것이 DL
• 서로 다르지만, 그냥 AI = ML = DL 이라 부른다.
AI, ML, DL
AI, ML, DL
Universal
Approximator
어떠한 함수도 근사화 할 수 있다.
DNN의 능력
• DNN은 임의의 함수를 근사화 할 수 있다.
• 함수의 내부를 모르더라도.
• 입력과 출력 데이터로.
DNN의 함수 근사화 능력
함수
DNN
출력입력
학습
DNN
0(고양이)
학습
DNN
1(강아지)
학습
DNN
0(고양이)
학습
DNN
1(강아지)
학습
DNN
?
처음 보는 입력이라도 출력을 낸다. 의미 있는.
• 고양이, 강아지 구분 함수
• 어떻게 구분하는 지 정의하지 않았다.
• 정의하기는 힘들어도, 그 함수는 존재한다.
• 단순한 입출력 쌍 데이터로 그 함수를 근사화 하였다.
함수를 근사화 한 것이다
• 단순히 입출력 쌍을 반복하여 학습시킨다.
• 하지만 로직을 찾아내기 어려운 문제에는 아주 효과적이다.
• 얼굴 인식, 물체 인식 같은.
단순, 하지만 강력한 방법
함수 예
DNN
고양이
함수 예
DNN
“안녕하세요”
음파
함수 예
DNN
정상/비정상
시스템
데이터
함수 예
DNN
다음 수
함수 예
DNN
“안녕하세요”
영어 한국어
“hello”
• 장점 : 대상 함수의 내부를 몰라도 된다.
• 단점 : 비싸다
• 많은 데이터, 많은 연산량
딥러닝 장단점
• 기존의 방법으로 이미 풀린 문제는 ML
• 기존의 방법으로 못풀었는데 데이터가 있으면 DL
• 바둑, 얼굴인식, 물체인식, 음성인식, 번역
ML과 DL의 선택
model = build_model() // 모델 구성
for i in range(1000): // 모든 데이터에 대하여 1000번 반복
model.fit(datas)
model.save(‘my_model.h5’) // 저장. 파일 크기는 보통 100메가
단위
model = load(’my_model.h5’) // 저장된 모델 로딩
predicted = model.predict(input) // 예측 실행
딥러닝 실제 코드
• 2대 적용 분야 : 자연어, 영상
• 일부 작업은 이미 안정화 단계에 있다.
• 영상분류, 영상인식
• Keras의 배포본에 포함
딥러닝 트렌드
model = keras.vgg16.VGG16()
predicted = model.predict(image_data)
• 입출력 데이터 쌍을 구하기 어렵다.
• 특히 출력 데이터. 레이블링 데이터(labeling data)
딥러닝의 큰 단점
• 레이블링 데이터 문제를 해결하기 위한.
• 비지도 학습 : 모델 구조를 통해 레이블링 데이터 없이. GAN
• 강화 학습 : 환경과 동적으로 연동하여 레이블링 데이터를 취득.
비지도 학습, 강화 학습
• 제어값을 입력으로 하고, PUE*를 출력으로 하여 학습
• 실제 데이터 사용
DNN 적용
*PUE(Power Usage Effectiveness) : 에너지 사용 효율도
입력
예측 결과
• 제어값과 PUE의 관계를 학습
• 임의의 제어값에 대한 PUE를 알 수 있다.
• 학습된 DNN은 시뮬레이터로 사용할 수 있다.
학습된 DNN
• 임의의 제어값에 대한 PUE를 미리 알 수 있다.
• 다양한 입력에 대한 뮬레이션으로, 최선의 PUE를 찾을 수 있다.
시뮬레이션이 가능하면
• 제조 설비에서 발생
• 발생 원인을 모름. 조치만 가능. 예방 불가
순간 정지
• on/off의 binary 데이터
• 반복된 공정이고, 이로 인해 주기성이 있다.
• 센서들 사이에 순서가 있고, 의존성이 있다.
PLC 센서 데이터
• 딥러닝으로 순간정지를 예측하고 싶다.
• 그런데 데이터가 없다.
순간 정지 데이터의 분재
DNN
순간
정지
PLC
데이터
• 주기성 데이터는 신경망으로 학습이 잘된다.
• 노이즈가 섞였어도
노이즈 섞인 주기성 데이터 학습
• 실제 데이터는 노이즈(순간정지)가 많이 섞여 있다. 20% 이상
• 과거 40개를 입력으로 하고 이후 1개를 예측 한다.
주기성 데이터 학습
• 1개 뒤의 데이터를 예측할 수 있다.
• 실제 데이터와 예측된 값이 다르면 순간정지가 발생한 것이다.
학습된 모델
• 수많은 센서들. 4000개 이상
• 어떤 센서가 순간정지에 영향을 끼쳤는 지 모름.
• 해당 센서를 탐지 가능하면, 미리 조치하고 발생을 방지할 수
있다.
순간 정지 원인 탐지
• 신호(출력과 관계를 갖는 입력 부분)이 동일하다면, 학습된
DNN의 출력은 모두 동일할 것이다.
• 다음 이미지는 모두 동일한 신호(고양이). 노이즈(배경)만 다르
다.
• 출력이 동일하도록 유지하면서 입력값을 억제하면, 신호만(고
양이 부분만) 추릴 수 있다.
신호와 노이즈
• 학습 완료후에, 입력 값 자체를 작게하는 다음의 cost function
을 주어 입력을 업데이트 한다.
• DNN의 학습이 아닌, 입력을 변경시킨다.
방법
• 특정 패턴의 존재여부를 학습
• 학습이 완료 된후 많은 패턴들 중에서 대상만 추출할 수 있다.
결과
• 대표적 비지도 학습
• Generator, Discriminator 2개의 DNN을 엮은 구조의 모델
• 월 500개의 논문 발표
GAN(Generative Adversarial Network)
GAN 결과 예
http://research.nvidia.com/sites/default/files/publications/
karras2017gan-paper.pdf
GAN 결과 예
https://arxiv.org/pdf/1511.06434.pdf
• Image Translation
GAN 결과 예
https://phillipi.github.io/pix2pix/
GAN을 사용한 노이즈 제거
GAN을 사용한 inpating
• 학습에 사용된 데이터와 비슷한 데이터를 생성한다.
GAN의 생성 결과
• 생성 시 조건(Condition)을 주어 생성되는 바를 제어한다.
Conditional GAN
숫자 이미지 좌측 반절을 조건으로 주고
우측 반절을 생성한 예
• 센서 데이터 : 온도, 진동, 압력, 서보모터의 전류값/각도
• 제어 데이터 : PLC, CNC 데이터
제조 설비 센서 데이터
• 물리적 장치의 미지의 내적 값이 시간이 지나면 증가
• 특정 한계를 넘으면 외적인 현상이 나타난다.
• 부러짐. 깨짐
• 이로인해 장애나 불량품 발생
제조 설비의 이상 동작
• 평소와 다른 데이터의 미묘한 변화를 사람이 탐지하기가 무척
어렵다.
• 기존 통계적인 방법이나 기타 ML 방법으로도 어렵다.
이상 탐지의 어려움
• 실 제조설비에는 레이블링 데이터(이상 유무)가 거의 없다.
• 있다 하더라도 정상/비정상의 비율이 극단적이다.
제조 설비의 DL 적용 어려움
Conditional GAN을 사용
데이터 구성
• hint, anchor는 과거의 데이터
• hint, anchor에 부합하는 미래의 follower 생성
• 과거의 데이터에 대한 정상이라 할 수 있는 follower
• GAN의 특징으로 무수한 follower의 생성이 가능하다.
학습된 생성기(G)
정상 밴드 생성
이상 탐지
이상 탐지 결과
• 비싼 레이블링 데이터가 필요하지 않다.
• 타 제어 데이터도 사용
• 복수의 센서 데이터가 동시에 사용
의미

Anomaly detection practive_using_deep_learning

  • 1.
  • 3.
    • 사람의 손이아닌 기계가 알아서 하면 인공지능이다. • 전문가의 지식을 하드코딩 할 수도 있고(전문가 시스템) • 데이터에서 로직을 찾을 수도 있다.(머신러닝) 인공지능(AI; Artificial Intelligence)
  • 4.
    • 인공지능의 한분야 • 데이터에서 가치를 찾아내는 것 • 아주 다양한 방법이 있다. • SVM, 의사결정트리, Random Forest, Bayesian, K-Means Clustering, K-NN, Neural Network 머신러닝(ML; Machine Learning)
  • 5.
    • 신경망(NN; NeuralNetwork)을 사용한 머신러닝 방법 • 신경망의 은닉층이 많아서(deep) DNN(Deep NN)이라 부른다 딥러닝(DL; Deep Learning)
  • 6.
  • 7.
  • 8.
    • DNN과 NN은별 차이 없다. • NN: AI에 대한 엄청난 기대와 그 만큼의 실망. • 최근 뚜렷한 성과를 보이면서 다시 큰 관심. • DNN: 실망했던 용어를 대신하여 붐을 일으키기 위한 용어. 심층신경망과 신경망
  • 9.
    • 인간이 고안한알고리즘이건 기계가 학습한 알고리즘 이건, 기 계가 스스로 처리하면 AI • 기계가 학습하는 경우가 ML • 그중 신경망을 사용하는 것이 DL • 서로 다르지만, 그냥 AI = ML = DL 이라 부른다. AI, ML, DL
  • 10.
  • 12.
  • 13.
    • DNN은 임의의함수를 근사화 할 수 있다. • 함수의 내부를 모르더라도. • 입력과 출력 데이터로. DNN의 함수 근사화 능력
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    학습 DNN ? 처음 보는 입력이라도출력을 낸다. 의미 있는.
  • 20.
    • 고양이, 강아지구분 함수 • 어떻게 구분하는 지 정의하지 않았다. • 정의하기는 힘들어도, 그 함수는 존재한다. • 단순한 입출력 쌍 데이터로 그 함수를 근사화 하였다. 함수를 근사화 한 것이다
  • 21.
    • 단순히 입출력쌍을 반복하여 학습시킨다. • 하지만 로직을 찾아내기 어려운 문제에는 아주 효과적이다. • 얼굴 인식, 물체 인식 같은. 단순, 하지만 강력한 방법
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 28.
    • 장점 :대상 함수의 내부를 몰라도 된다. • 단점 : 비싸다 • 많은 데이터, 많은 연산량 딥러닝 장단점
  • 29.
    • 기존의 방법으로이미 풀린 문제는 ML • 기존의 방법으로 못풀었는데 데이터가 있으면 DL • 바둑, 얼굴인식, 물체인식, 음성인식, 번역 ML과 DL의 선택
  • 30.
    model = build_model()// 모델 구성 for i in range(1000): // 모든 데이터에 대하여 1000번 반복 model.fit(datas) model.save(‘my_model.h5’) // 저장. 파일 크기는 보통 100메가 단위 model = load(’my_model.h5’) // 저장된 모델 로딩 predicted = model.predict(input) // 예측 실행 딥러닝 실제 코드
  • 31.
    • 2대 적용분야 : 자연어, 영상 • 일부 작업은 이미 안정화 단계에 있다. • 영상분류, 영상인식 • Keras의 배포본에 포함 딥러닝 트렌드 model = keras.vgg16.VGG16() predicted = model.predict(image_data)
  • 32.
    • 입출력 데이터쌍을 구하기 어렵다. • 특히 출력 데이터. 레이블링 데이터(labeling data) 딥러닝의 큰 단점
  • 33.
    • 레이블링 데이터문제를 해결하기 위한. • 비지도 학습 : 모델 구조를 통해 레이블링 데이터 없이. GAN • 강화 학습 : 환경과 동적으로 연동하여 레이블링 데이터를 취득. 비지도 학습, 강화 학습
  • 35.
    • 제어값을 입력으로하고, PUE*를 출력으로 하여 학습 • 실제 데이터 사용 DNN 적용 *PUE(Power Usage Effectiveness) : 에너지 사용 효율도
  • 36.
  • 37.
  • 38.
    • 제어값과 PUE의관계를 학습 • 임의의 제어값에 대한 PUE를 알 수 있다. • 학습된 DNN은 시뮬레이터로 사용할 수 있다. 학습된 DNN
  • 39.
    • 임의의 제어값에대한 PUE를 미리 알 수 있다. • 다양한 입력에 대한 뮬레이션으로, 최선의 PUE를 찾을 수 있다. 시뮬레이션이 가능하면
  • 41.
    • 제조 설비에서발생 • 발생 원인을 모름. 조치만 가능. 예방 불가 순간 정지
  • 42.
    • on/off의 binary데이터 • 반복된 공정이고, 이로 인해 주기성이 있다. • 센서들 사이에 순서가 있고, 의존성이 있다. PLC 센서 데이터
  • 43.
    • 딥러닝으로 순간정지를예측하고 싶다. • 그런데 데이터가 없다. 순간 정지 데이터의 분재 DNN 순간 정지 PLC 데이터
  • 44.
    • 주기성 데이터는신경망으로 학습이 잘된다. • 노이즈가 섞였어도 노이즈 섞인 주기성 데이터 학습
  • 45.
    • 실제 데이터는노이즈(순간정지)가 많이 섞여 있다. 20% 이상 • 과거 40개를 입력으로 하고 이후 1개를 예측 한다. 주기성 데이터 학습
  • 46.
    • 1개 뒤의데이터를 예측할 수 있다. • 실제 데이터와 예측된 값이 다르면 순간정지가 발생한 것이다. 학습된 모델
  • 48.
    • 수많은 센서들.4000개 이상 • 어떤 센서가 순간정지에 영향을 끼쳤는 지 모름. • 해당 센서를 탐지 가능하면, 미리 조치하고 발생을 방지할 수 있다. 순간 정지 원인 탐지
  • 49.
    • 신호(출력과 관계를갖는 입력 부분)이 동일하다면, 학습된 DNN의 출력은 모두 동일할 것이다. • 다음 이미지는 모두 동일한 신호(고양이). 노이즈(배경)만 다르 다. • 출력이 동일하도록 유지하면서 입력값을 억제하면, 신호만(고 양이 부분만) 추릴 수 있다. 신호와 노이즈
  • 50.
    • 학습 완료후에,입력 값 자체를 작게하는 다음의 cost function 을 주어 입력을 업데이트 한다. • DNN의 학습이 아닌, 입력을 변경시킨다. 방법
  • 51.
    • 특정 패턴의존재여부를 학습 • 학습이 완료 된후 많은 패턴들 중에서 대상만 추출할 수 있다. 결과
  • 53.
    • 대표적 비지도학습 • Generator, Discriminator 2개의 DNN을 엮은 구조의 모델 • 월 500개의 논문 발표 GAN(Generative Adversarial Network)
  • 54.
  • 55.
  • 56.
    • Image Translation GAN결과 예 https://phillipi.github.io/pix2pix/
  • 57.
  • 58.
  • 59.
    • 학습에 사용된데이터와 비슷한 데이터를 생성한다. GAN의 생성 결과
  • 60.
    • 생성 시조건(Condition)을 주어 생성되는 바를 제어한다. Conditional GAN 숫자 이미지 좌측 반절을 조건으로 주고 우측 반절을 생성한 예
  • 62.
    • 센서 데이터: 온도, 진동, 압력, 서보모터의 전류값/각도 • 제어 데이터 : PLC, CNC 데이터 제조 설비 센서 데이터
  • 63.
    • 물리적 장치의미지의 내적 값이 시간이 지나면 증가 • 특정 한계를 넘으면 외적인 현상이 나타난다. • 부러짐. 깨짐 • 이로인해 장애나 불량품 발생 제조 설비의 이상 동작
  • 64.
    • 평소와 다른데이터의 미묘한 변화를 사람이 탐지하기가 무척 어렵다. • 기존 통계적인 방법이나 기타 ML 방법으로도 어렵다. 이상 탐지의 어려움
  • 65.
    • 실 제조설비에는레이블링 데이터(이상 유무)가 거의 없다. • 있다 하더라도 정상/비정상의 비율이 극단적이다. 제조 설비의 DL 적용 어려움
  • 66.
  • 67.
  • 68.
    • hint, anchor는과거의 데이터 • hint, anchor에 부합하는 미래의 follower 생성 • 과거의 데이터에 대한 정상이라 할 수 있는 follower • GAN의 특징으로 무수한 follower의 생성이 가능하다. 학습된 생성기(G)
  • 69.
  • 70.
  • 72.
  • 73.
    • 비싼 레이블링데이터가 필요하지 않다. • 타 제어 데이터도 사용 • 복수의 센서 데이터가 동시에 사용 의미