모델의 성능 구조, 데이터, 최적화 3가지가 결정
sw 2.0 은 사람의 개입이 없이 객체의 특징을 추출하고 연산을 정함.
구조를 설계하는데에는 사람의 개입이 필요하지만, 점점 개입을 줄이고 최적화에 더 신경 씁니다
Transformer 시대.
이러한 방법론은 음성인식, 기계번역, 객체검출다양한 분야에서 성과를 내고 있습니다
학교, 대회와 달리 서비스 개발시에는 데이터셋과 테스트 방법이 준비되어 있지 않고 요구사항만 존재함.
그래서 서비스에 적용되는 AI 개발 업무의 상당 부분이 데이터셋을 준비하는 작업
서비스향 AI 모델 개발 과정은 크게 4가지 단계로 구성되어 있음.
1. 모델 요구사항 확정 : 처리시간, 목표정확도, 목표 qps, 서빙 방식, 장비 사양
2. 데이터셋 준비 : 종류, 수량, 정답라벨
3. 모델 학습 및 디버깅 : 데이터 관련 피드백, 요구사항 달성
4. 설치 및 유지보수 : 성능 모니터링, 이슈해결
목표: 요구사항을 충족시키는 모델을 지속적으로 확보하는 것이고 두 가지 방법이 있음
모델 성능 달성에 있어서 서비스 출시 전에는 데이터와 모델에 대한 비중은 5:5지만, 서비스 출시 이후에는 성능개선에 대한 요구가 처리속도보다는 보통 정확도에 대한 것이기 때문에 데이터에 집중하는 비중이 커진다.
이유는 처리 속도같은 것은 이미 모델구조에서 정해지기 때문에 요구사항을 맞추었을 확률이 크며, 정확도를 개선하기 위해 모델구조를 변경하는 것은 처리 속도, qps, 메모리 크기 등에 대한 요구사항 검증을 다시해야하므로 비용이 크다.
데이터와 관련된 업무가 왜이렇게 많을까
-> 이 모든 것을 잘 할 수 있는 데이터 annotation tools을 만들어야 한다.
Data Engine을 위한 IDE
중 sw 2.0 IDE 는 아직 없다. 기능별 ide 제외
데이터 관점에서 필요한 기능들
1. 데이터셋 시각화 : 데이터/레이블 분포 , 레이블 시각화
2. 데이터 라벨링 : 라벨링 UI, 태스크 특화기능, 라벨링 일관성 확인, 자동 라벨링 등
3. 데이터셋 정제 : 반복데이터 제거, 라벨링 오류 수정 등
4. 데이터셋 선별 : 모델 성능 향상을 위해 어떤 데이터를 라벨링 해야하나?
OCR - Optical Character Recognition
STR - Scene Text Recognition
OCR : 글자 영역 찾기 + 글자 영역별로 글자 인식하기
Offline Handwriting VS Online Handwriting
Offline : 이미지를 입력으로 하여 글자값 출력
Online : 좌표 시퀀스를 입력으로 하여 글자값 출력
글자 검출기 : 이미지 입력에 글자 영역 위치가 출력인 모델
글자 인식기 : 하나의 글자 영역 이미지 입력에 해당 영역 글자열이 출력인 모델
글자 인식기는 Computer Vision과 Natural Language Processing의 교집합 영역
유사한 테스크 : image captioning (이미지를 설명하는 문장 생성)
정렬기 : OCR결과값을 자연어 처리하기 편하게 일렬로 정렬하는 모듈
정렬기 결과값을 입력으로 받는 자연어 처리 모듈을 뒤에 붙여서 사용 가능
자연어 처리 모듈 중 가장 많이 사용되는 것은 기 정의된 key들에 대한 value 추출
BIO 태깅을 활용한 개체명 인식 : 문장에서 기 정의된 개체에 대한 값 추출
Process of Parser : BIO-tagging | BIO tagging 달아주고 학습시키기
Copy & Paste
Search(텍스트로 검색하면 해당 텍스트가 있는 이미지 반환)
Matching
금칙어 처리(광고성/혐오성 이미지 제거)
번역
신용카드
신분증
수기입력대체 : 사업자 등록증, 영수증 등
최종 프로젝트 아이디어 회의
level 3 대회가 시작되었다.
데이터 제작은 프로젝트를 진행하며 해볼 기회가 없었는데(있어도 시간상 안했다..) 이번기회에 해볼 수 있어서 좋다.