포스텍|애플아카데미 1일차

이종훈·2023년 4월 23일
0
  • 맥, 아이폰, 등에 들어가는 머신러닝 어플리케이션을 통한 수업

  • 컴퓨터 비전을 통한 수업

  • Apple AOI 어플리케이션

머신러닝이란?
알파고... chat gpt...

1950~1970
인간이 할 수 있는걸 기계도 할 수 있도록...

1980~2000
머신러닝
상황에 대한 동작을 스스로 합슥하여 대응하도록... 과거의 경험을 통해 현재의 결과가 발전.. 피드백제어?
머신러닝이 필요한 이유... 시스템에 필요한 요소를 하나하나 다 지정하기가 쉽지 않음... 정답 set을 보여주고 오답 set을 보여주어 학습하면 정상 비정상을 가릴 수 있게 된다.

2010~현재
딥러닝
다양한 머신러닝 알고리즘 중 인공 신경망 기반 시스템 -> 폭발적인 발전과 함께 실생활에서도 다양한 적용이 가능해졌다.

머신러닝이란 컴퓨터가 경험을 통해 학습하도록 -> 세세하게 프로그래밍 해야 하는 번거로움이 없다.

데이터가 갑자기 변화했을때 알림을 줄 수 있다.

강화학습 - 좋은 행동을 하면 보상을 나쁜 행동을 하면 벌을.

회귀 (Regression)
연속적인 값을 예측하는 것
선형 회귀 / 비선형 회귀가 있다
변수가 여러가지인 경우 비선형회귀

분류 (Classification)

변수들의 분류 경계를 설정해주는 알고리즘.

레이블 - 데이터에 대한 정답
같은 데이터에 대해서도 목적에 따라 다양한 종류의 레이블이 가능
진폭데이터는 가공장비의 전압데이터를 보는건가요 -> 진동데이터

정상인지 불량인지를 알고 싶으면 분류 모델만 활용하면 된다. 불량 위치를 알고 싶다면 회귀를 사용해서 어느 부분에서 파형이 비정상적으로 나타났는지 알게 되는게 중요.

분류모델에서는 정확도를 회귀모델에서는 오차를 이용해 판단을 한다 / 회귀모델에서 불량 발생 위치를 얼마나 잘 맞추는지 평가.

인공 신경망 구조
입력과 출력 사이에 은닉층을 두고 각 층 사이의 연결을 통해 규칙을 학습한다. 요즘엔 인공지능 -> 딥러닝 -> 인공지능 층이 깊게 쌓이기 때문에 딥러닝이라고 한다.

데이터를 만들 때 결과 예측에 사용할 데이터와 같은 환경에서 수집하는 것을 권장한다. (ex: 비전검사기의 광량이 일정하지 않은 경우 문제가 발생할 수 있음)

필터링 : 목적에 적합하지 않거나 구분이 쉽지 않은 데이터를 걸러내는 과정
전처리 : 머신러닝이 데이터를 분석하기 쉽도록 수집한 데이터를 가공한다.

데이터 분리

수집한 데이터를 훈련 / 검증 / 평가 세 종류의 세트로 분리한다 6 : 2 : 2 또는 8 : 2 : 2로 나눔
훈련에 사용한 데이터를 검증, 평가에 사용하거나 하면 정답률에 문제가 생기므로
순서에 대한 연관성을 배제할 수 있도록 무작위 배치

훈련 세트의 데이터를 활용하여 모델학습
필요한 경우 같은 데이터에 대해 여러번 반복
데이터의 질을 따로 평가해서 가중치를 넣을 수 있는지

학습 중간중간에 검증데이터를 사용해서 성능이 증가하고 있는지, 성능이 증가하지 않고 감소하는지 확인한다
과적합 (Overfitting) 훈련세트에 대해 지나치게 학습이 되어 훈련세트에 있지 않은 일반적인 데이터에 대해서 성능이 하락한다

평가 (Evaluation/ Test)
학습시킨 모델을 평가 세트로 테스트
기대하는 성능을 얻었다면 ok, 만족스럽지 못한 경우 다른 방법으로 재학습

성능 개선
데이터
학습을 위한 데이터 추가 수집
수집 환경 조정, 전처리 방법 개선
데이터의 불균형 해결

모델
모델(알고리즘) 변경
크기 조절 (층 수, 뉴런 수 조절)
학습 변수 조정

데이터 예측 단계에서 처리 시간이 적절한지 확인 필요

  • 너무 커다란 모델을 써서 실제 생산현장에서 전수검사를 할 수 없을 수도 있다.

데이터 증강 (Data Augmentation)
기존 데이터를 변형하여 학습 데이터의 양을 늘리는 과정
이미지의 경우 회전, 반전, 대비 조정, 자르기 등의 방법 존재
데이터 불균형 문제 해결에 도움
ex: 사진을 회전시키거나, 광량을 조절하는 것 처럼 사진 자체의 명도를 조정하거나

소리도 머신러닝으로 정상 불량을 판정할 수 있다.

Create ML -> 애플의 엑스코드(테스트베드) 속 기능
맥을 사용한다면 사용할 수 있다.

모델을 개발해서 맥에 옮기거나, 크리에이트 ML에서 모델을 만들어서 익스포트, 파이썬 텐서플로우로 변환하는 라이브러리를 활용해 쓸 수 있다.

패키지를 직접 호출해서 학습시키고, 평가하고, 학습데이터에 추가하는 등의 작업도 가능하다.

오후세션

이미지 전처리

예를 들어서 애플 스토어의 사진이 있을때, 알고싶은 정보에 따라서 필요한 데이터가 다를 수 있다.
거리를 알고 싶다면 흑백사진을 사용해서 처리량을 줄이고
애플스토어인지 알고 싶다면 일부만 크롭해서 사용할 수 있다

사진의 해상도를 조절하는 방법으로 처리 속도를 높일 수 있다
조명을 일정하게 맞출 수 있다면 카메라 상태가 일정하게 유지되어 노이즈가 필요 없을 수 있는데, 노이즈가 발생 할 수 있는 환경에서는 데이터 전처리를 위해 노이즈를 넣는다.

이미지를 크롭해서 관심 지점만 노출시킨다 -> 모서리 윤곽선을 누끼따서 관심 지점 검출한다

세분화 및 그룹 분류 -> 같은 그룹끼리 111 222 333 444 이런 방법으로 그룹 분류 할 수 있다.

이미지 복원 (restoration)

애플AOI
automated optical inspection
앱스토어에서 접근은 불가능.
아이폰으로 촬영 -> 머신러닝 모델을 바로 아이폰에서 돌릴 수 있게 되어있음
검사를 쉽게 할 수 있게 만들어주는 틀!

AI모델의 학습 평가를 간단하게 수행 가능하기 때문에 프로토타입 생성에 적합하다.

profile
개발새발

0개의 댓글