[Data Centric] Software 1.0 VS Software 2.0

HipJaengYiCat·2023년 5월 23일
0

DeepLearning

목록 보기
16/16
post-thumbnail

실제 딥러닝 기반 프로덕트를 배포 시 중요시 되는 것 중 하나는 데이터셋 제작이다. 소프트웨어 개발 방식인 Software 1.0, Software 2.0을 알아보고, 데이터셋 제작 측면에서 Software 1.0와 Software 2.0 차이점을 알아보자

Software 1.0

  1. 문제 정의
  2. 큰 문제를 작은 문제들의 집합으로 분해
  3. 개별 문제 별로 알고리즘 설계
  4. 솔루션들을 합쳐 하나의 시스템으로 만듦

1. 문제 정의

ex) 비디오를 적은 용량으로 저장할 때 품질 저하 없이 저장할 수는 없을까?
-> 비디오를 품질 저하 없이 아주 적은 용량의 데이터로 표현해 저장하고, 재생할 때 원본 비디오로 복원하자
-> Video Codec : Video Encoder + Decoder

2. 큰 문제를 작은 문제들의 집합으로 분해

3. 개별 문제 별로 알고리즘 설계

4. 솔루션들을 합쳐 하나의 시스템으로 만듦

  • Chipset/HW

  • SDK/SW

Software 1.0 성공사례

  • internet : TCP/IP stack

  • Smartphone : Android Stack

Software 1.0 - image detection

Human Detection


큰 문제를 작은 문제들의 집합으로 분해하고 문제별로 알고리즘 설계



object detection


-> SW1.0은 객체 검출에서 대응하기 어려운 케이스가 많았음
-> DPM-v1은 21%, DPM-v5는 33.7%로 SW1.0 방식으로 설계된 방법론은 높은 성능을 갖지 못했음
-> SW2.0이 이에 대한 해결책으로 등장했고, SW2.0 방식의 방법론들이 높은 성능을 보여주고 있음

Software 2.0

SW1.0 : 어떤 연산을 할 지 사람이 정함
SW2.0 : neural network(AI)의 구조에 의해 검색영역이 정해지고,
최적화를 통해 목적에 제일 부합하는 연산 집합을 찾음
이때 경로와 목적지는 데이터와 최적화 방법에 의해서 정해짐
=> AI 모델 성능 : 코드(모델 구조 + 최적화 방법) + 데이터

=> 구조 설계 시 사람의 개입이 필요하지만, 점점 개입을 줄이고 최적화에 더 신경 씀

SW2.0 - Transformer

  • 음성인식
  • 기계번역

  • 객체검출

profile
AI Learning, Parcelled Innovations, Carrying All

0개의 댓글