[AI Competition Tutorial] Model

임수정·2022년 2월 22일

AI Competition

목록 보기
4/10

Model

Overview

  • 이제, 데이터셋으로 원하는 출력을 만들어 줄 모델을 구성해보자.

Model

  • 모델이 뭔가요?

    In general,
    a model is an informative representation of an object, person or system

  • 즉 모델은 '시스템을 표현하는 모형'으로 이해하면 좋을 것 같다.

Design Model with PyTorch

PyTorch

  • Open Source Machine Learning Framework
  • 슬로건 : 'From Research to Production'
  • 특징 : Low-level, Pythonic, Flexibility
  • pytorch는 keras에 비해 어렵지만, 한 번 잘 이해한다면 자신이 원하는대로 customizing할 수 있다.
  • 또한 Pytorch는 코드를 이해하면 모델 training이나 inference 과정 등을 잘 이해할 수 있다.

nn.Module

  • PyTorch 모델의 모든 레이어는 nn.Module 클래스를 따른다.
  • nn.Module을 상속받은 모든 클래스의 공통된 특징
    • 모든 nn.Module은 forward()함수를 가진다.

  • Parameters
    • 모델에 정의되어 있는 modules가 가지고 있는 계산에 쓰일 Parameter(state_dict(), parameters())
    • 각 모델 파라미터 들은 data, grad, requires_grad 변수 등을 가지고 있다

PyTorch의 Pythonic

  • Pythonic하다는 것의 장점
    • 우리가 형식과 구조를 미리 알고 있다면,
      여러가지 응용이 가능할 뿐더러,
      발생할 수 있는 에러들도 핸들링할 수 있다.
    • 유사한 구조를 가진 모델이나 프로젝트 등을 빠르게 이해하고 활용하거나 융합할 수 있다.

Special Mission

  • 주어진 스펙에 맞게 모델 직접 구현해보기, 그리고 현재 문제 정의에 맞게 Classifier도 설계해보기

Further Reading

profile
유쾌하게, 열정적으로, 진심을 다해

0개의 댓글