AIML

    [딥러닝 - PyTorch] - TORCH.NN 이 무엇일까?

    [딥러닝 - PyTorch] - TORCH.NN 이 무엇일까?

    PyTorch는 우리가 신경망(neural network)를 생성하고 학습시키는 것을 도와주기 위해서 torch.nn, torch.optim, Dataset, DataLoader와 같은 잘 디자인된 모듈과 클래스를 제공합니다. 이들의 성능을 최대한 활용하고 여러분야의 문제에 맞게 커스터마이즈하기 위해서, 정확히 이들이 어떤 작업을 수행해야 하는지 이해할 필요가 있습니다. 우리는 먼저 이들 모델들로 부터 아무 피쳐도 사용하지 않고 MNIST 데이터 셋에 대해 기초적인 신경망을 학습시킬 것입니다. 우리는 처음에 가장 기초적인 PyTorch 텐서(tensor) 기능만을 사용할 것입니다. 그리고 우리는 점차적으로 torch.nn, torch.optim, Dataset, 또는 DataLoader로부터 한번에 하나..

    [딥러닝 기초] - ResNET을 이해하기 위한 CNN 개요

    [딥러닝 기초] - ResNET을 이해하기 위한 CNN 개요

    이번에는 ResNET을 이해하기 위해 CNN을 기초 개념에 대해 탄탄히 다시 되새기고 넘어가고자 포스팅을 합니다. CNN은 2012년도 이미지 인식 대회에서 주목받게 되었는데요 여기서 토론토대 교수인 제프리 힌튼의 AlexaNet이 다른 머신러닝 모델들을 압도적인 차이로 이겼었습니다. CNN이 나오기 까지 AlexaNet은 컨볼루전 신경망인 CNN입니다. CNN은 이미지를 인식하는 대표적인 딥러닝 모델입니다. CNN도 여느 딥 러닝 모델처럼 사람의 시각 피질을 참고하여 만들어졌습니다. 뇌의 시각피질은 서로 계층적으로 연결되어 있습니다. 낮은 계층에서는 단순한 패턴을 인식하고 상위 계층으로 올라갈 수록 패턴을 인식해서 보다 복잡한 이미지로 추상화 하게 되는 것이죠. 처음의 CNN의 시초는 네오코그니트론이라..

    [딥러닝 논문 리뷰 - PRMI Lab] - Deep Residual Learning for Image Recognition (CVPR 2016) + 실습

    [딥러닝 논문 리뷰 - PRMI Lab] - Deep Residual Learning for Image Recognition (CVPR 2016) + 실습

    본 논문에서는 깊은 네트워크를 학습시키기 위한 방법으로 잔여 학습(residual learning)을 제안했습니다. 원래 층이 깊어지면 깊어질 수록 어떠한 데이터로부터 Feature를 더 많이 추출해 낼 수 있게됩니다. 그로인해 모델이 더 높은 성능을 낼 수 있게 된다는 것이 일반적인 양상입니다. 당연히 레이어가 너무 깊어지게 되면 오히려 과적합 되서 성능이 떨어지게 됩니다. 위 그림처럼 기존의 CNN에서 layer가 더 깊으면 error rate가 더 높아지는 것을 볼 수 있습니다. 하지만 잔여 학습(Deep Residual Learning)을 적용한 CNN에서는 레이어의 깊이가 깊어져도 일반적인 양상인 error rate가 낮아지게 되었다는 것이 이 논문이 contribute한 내용입니다. CNN 모..

    [딥러닝 논문 리뷰 - PRMI lab] - 배치 정규화(Batch Normalization) + 보편적 근사 정리(Universal Approximation Theorem)

    [딥러닝 논문 리뷰 - PRMI lab] - 배치 정규화(Batch Normalization) + 보편적 근사 정리(Universal Approximation Theorem)

    배치 정규화 (Batch Normalization) 배치 정규화의 잘 알려진 장점은 아래와 같습니다. 학습 속도(training speed)를 빠르게 할 수 있습니다. 가중치 초기화(weight initialization)에 대한 민감도를 감소시킵니다. 모델의 일반화(regularization)효과가 있습니다. 정리하면 뒤에서 자세히 알아보겠지만, 배치 정규화를 사용하면 학습 속도가 빨라지며, 성능이 올라갈 뿐만 아니라 모델을 설계하는 입장에서 하이퍼 파라미터 세팅에 대한 부담이 줄어들기 때문에 사용하지 않을 이유가 없다고 할 수 있습니다. 그래서 실제로 이미지를 처리하는 분야에서 이러한 배치 정규화가 많이 사용되었습니다. 그 결과 모델의 성능을 많이 올릴 수 있었습니다. 배치 정규화는 위 그림에서 볼 ..