네이버 부스트캠프 AI Tech 2기
-
[08.20] Day14 - 🔥 'PyTorch 활용'네이버 부스트캠프 AI Tech 2기 2021. 8. 21. 19:49
[PyTorch] 활용하기 [수업 내용] 강사 : 최성철 교수님 Multi-GPU 학습 오늘날 딥러닝은 엄청난 데이터와의 싸움이다. 어떻게 GPU를 다룰 것인가? 여러 장의 GPU를 다루고 우리가 원하는 목표를 이룰 수 있을까? → 보통 2장 이상 있을 때, 멀티 GPU라고 함. 개념 Single vs Multi 한개의 GPU, 여러개 GPU를 쓰는 경우 GPU vs Node Node → 한대의 컴퓨터. 를 의미한다. 1대의 Node(컴퓨터)안에 있는 1개의 GPU를 쓴다. Single Node Single GPU Single Node Multi GPU Multi Node Multi GPU NVIDIA 에서는 조금더 GPU를 잘 사용해서 학습할 수 있도록 연구를 하고 있다(TensorRT 8.0 등) M..
-
[08.19] Day13 - 👏 'PyTorch 구조2'네이버 부스트캠프 AI Tech 2기 2021. 8. 21. 19:32
[PyTorch] 모델 불러오기 + 모니터링 도구 [수업 내용] 강사 : 최성철 교수님 다른 특정 타겟의 모델을 나의 것으로 가져와서 커스텀, Fine Tuning 형태의 알고리즘이 대세이다. 보통 Transfer Tuning하고 Fine Tuning 과정을 거친다고 한다. model.save() :학습의 결과를 저장하는 함수 모델의 형태를 저장하거나 파라미터를 저장할 수 있다. 중간 중간 저장을 통해 최선의 결과모델 선택할 수 있다. 만들어진 모델을 외부 연구자와 함께 공유해서 학습 재연성 향상할 수 있다. torch.save(model.state_dict(),os.path.join(MODEL_PATH, "model.pt")) #모델을 저장할 때 OrderedDict 타입으로 저장하기 때문에 쉽게 내용..
-
[08.18] Day12 - 👍 'PyTorch 구조'네이버 부스트캠프 AI Tech 2기 2021. 8. 21. 19:31
[PyTorch] AutoGrad, Optimizer, Dataset, Dataloader [수업 내용] 강사 : 최성철 교수님 논문을 구현할때 → 수많은 반복의 연속이다. (Layer들을 블록처럼 쌓아서 다음으로 넘기는 구조. 그래서 하나의 블록을 정의하고 이것들을 연결해 Forward, BackPropagation 하는 과정) 블록 ⇒ torch.nn.Module : 딥러닝을 구성하는 Layer의 base class이다. Input, Output, Forward, Backward를 정의하면 된다. 학습의 대상이 되는 파라미터를 정의해야 한다. nn.Parameter 라고 하는 클래스에 Weight를 저장하고 Tensor 객체의 상속 객체이다. nn.Module 내에 attribute 가 될 때, re..
-
[08.17] Day11 - 👊 'PyTorch 기본'네이버 부스트캠프 AI Tech 2기 2021. 8. 21. 19:29
PyTroch : TensorFlow와 함께 가장 많이 쓰이는 딥러닝 프레임워크이다. [수업 내용] 강사 : 최성철 교수님 딥러닝은 코드를 처음부터 다짠다?! → 실제로 예전에 이렇게 짰다.. 그런데 이렇게 짜면 힘들어 죽는다.. 그래서 지금은 다른 사람들이 만든 것을 가져다 쓴다. 예를들어 Tensorflow와 PyTorch 등등. 자료도 많고 관리도 잘 되고, 표준이라서 사용한다. 가장 큰 차이는 : 미분, 즉 BackPropagation을 해야한다. 현재 데이터들을 그래프로 표현해햐하는데, 어떤식으로 표현하느냐에 큰 차이가 있다. Static 하게 그래프를 그리고 PyTorch 같은 경우 실행 시점에서 동적으로 그래프를 그린다고 한다. TensorFlow : Define and Run(그래프를 먼저..
-
[08.10 Special 강의] 📊 기본적인 차트 활용네이버 부스트캠프 AI Tech 2기 2021. 8. 21. 19:27
Bar Plot 기본 Bar Plot범주에 따른 수치 값을 비교할 때 적합한 방법이다.(개별 비교, 그룹 비교 모두 적합) Vertical(default) : X축 범주, Y축 값 Horizontal : Y축 범주, X축 값 Bar Plot ? : 직사각형 막대를 통해 데이터의 값을 표현하는 차트/그래프이다. 다양한 Bar Plot Multiple Bar Plot두개 이상의 그룹을 쌓아서 표현하는 방법 → Stacked Bar Plot단점 : 맨 밑의 bar 분포는 파악하기 쉽지만, 그 외 분포는 파악하기 어렵다.각 범주에 대해 전체 비율을 추가 → Percentage Stacked Bar Chart겹쳐서 그리는 방법 → Overlapped Bar Plot단점 : 보기가 좀 불편하다.(3개 이상일때)단점..
-
[08.13] Day10 - 'Generative Models'💫네이버 부스트캠프 AI Tech 2기 2021. 8. 13. 20:10
[여기는 지금껏 들으면서 가장 이해가 안된 부분이었다. 그래서 추가로 공부하면서 알게되면 정리를 추가해야겠다.] 일단 어느정도 알게된 내용 위주로 정리한다. Generative Model [수업 내용] 강사 : 최성준 조교수님 Generative model을 만든다? 는 무슨 의미일까 : 단순하게 생성 모델에 그치지 않고 더 많은 것을 포함하고 있다. Generation : sampling Density estimation : anomaly detection(분류 같음, explicit model) → 분류 모델까지도 포함하고 있다는 것을 의미한다. Unsupervised representation learning : feature learning P(x) 를 어떻게 만들까? 기본적인 Discrete D..
-
[08.12] Day9 - 'Sequential Models(RNN + Transformer)'네이버 부스트캠프 AI Tech 2기 2021. 8. 13. 20:03
RNN [수업 내용] 강사 : 최성준 조교수님 Sequential Model : 말, 비디오, 모션 등등 모든 것이 Sequential Data이다. 어려움은? : 얻고 싶은 것이 하나의 라벨(클래스)인데, 시퀀셜 데이터는 정의상 길이가 정해지지 않는다. 그래서 정적인 CNN이나 MLP을 사용할 수 없다. 몇개의 이미지, 몇개의 음절들이 들어올지 모르기 때문이다. Markov Model(Markov 가정을 가진다. → 나의 현재는 직전 과거에만 Dependent하다) Latent Autoregressive Model(과거 많은 정보를 고려해야하는데 Markov는 그렇지 못하고 손실이 많았다. 그래서 Latent는 과거 정보를 요약하고 있다.) → RNN은 MLP와 거의 똑같은데, 나 자신으로 돌아오는 것..
-
[08.11] Day8 - 'CNN(Convolution Neural Network)'네이버 부스트캠프 AI Tech 2기 2021. 8. 13. 19:53
CNN [수업 내용] 강사 : 최성준 조교수님 Convolution 이란? : f, g 두 함수를 잘 섞어주는 Operator 로 정의할 수 있다. Convolution 연산 과정 → 도장 찍는 느낌! (element wise 곱의 합) 의미 : 해당 이미지를 적용하고자 하는 filter를 통해서 찍어준다. 일반적인 이미지는 RGB로 되어 있기 때문에, 3개의 channel을 가지게 된다.) 4개의 filter(kernel)을 가지고 Output도 4개가 적용된 것들의 모임으로 구해진다. 32323 짜리 이미지를 28284를 얻기 위해서 따져줘야 할 것들이 있다.또한, 하나의 Convolution 연산을 거친 후, Non-linear Function인 Relu함수가 적용이 된 것을 볼 수 있다. 학습해야..