AI

· AI/DL
Batch Normalization (배치 정규화) - 신경망을 훈련할 때 일반적으로 어려운 한 가지는 가중치를 일정한 범위 내에서 유지해야 한다는 것입니다. 가중치가 커지기 시작하면 gradient exploding 문제가 발생하고 작아지면 gradient vanishing 문제가 발생합니다. - 신경망의 입력 데이터 스케일을 조정하는 이유 중 하나는 처음 시작되는 훈련을 안정적으로 시작하기 위함입니다. 처음 네트워크의 가중치가 랜덤 하게 초기화되어 학습되기 때문에 스케일 조정이 되지 않으면 큰 폭으로 출렁이게 됩니다. 그래서 앞서 CNN을 구현했을 때 입력 데이터의 0 ~ 255 사이의 픽셀 값 대신 0 ~ 1 사이의 스케일로 바꿨습니다. - 입력 데이터의 스케일을 조정했기 때문에 모든 layer의 ..
· AI/DL
GOAL - ResNet의 구조를 이해 - Tensorflow를 이용하여 ResNet50으로 CIFAR10 데이터셋을 이용하여 분류해 보자 Residual Network - 오늘은 2015년 ILSVRC에서 우승을 차지한 Residual Network(이하 ResNet)에 대해 포스팅하려고 합니다. - ResNet은 마이크로소프트에서 개발한 알고리즘으로 원 논문명은 "Deep Residual Learning for Image Recognition"입니다. 어마어마한 논문의 인용 수를 볼 수 있으며 이는 딥러닝 이미지 분야에서 많이 사용되고 있다는 뜻입니다. - CNN이 이미지 인식 분야에서 뛰어난 성능을 보여주고 있었고, 네트워크의 layer를 깊이 쌓으며 성능 향상을 이루고 있었습니다. 하지만 실제로 ..
· AI/GAN
GOAL - 생성 모델링 중 오토인코더가 무엇인지 알고 작동 방법을 알아본다. - 변이형 오토인코더를 MNIST 데이터 셋으로 간단하게 구현시켜 확인 오토인코더(AutoEncoder)란? - 오토인코더는 인코더와 디코더로 이루어진 신경망 - 인코더(encoder) 네트워크 : 고차원 입력 데이터 -> 저 차원 표현 벡터(representation vector)로 압축 - 디코더(decoder) 네트워크 : 주어진 표현 벡터 -> 원본 차원으로 압축 해제 - 위의 그림은 오토인코더의 예시를 만들어 보았습니다. 원본 입력은 인코더와 디코더를 지나서 재구성된 이미지로 출력되며 네트워크는 입력과 재구성된 이미지 사이의 손실을 최소화하는 가중치 매개변수를 찾기 위해 훈련합니다. - 표현 벡터라는 것은 원본 이미지..
· AI/DL
GOAL - VGGNet의 구조를 이해 - Tensorflow를 이용하여 VGG16으로 CIFAR10 데이터셋을 이용하여 분류해 보자 VGGNet - VGGNet은 2014년 ILSVRC에서 2위를 한 Oxford 대학교의 VGGNet 팀에서 만든 모델입니다. - 구조적인 측면에서 굉장히 간단한데 성능은 훌륭하며 변형을 시켜가면서 테스트하기에 좋아 많이 사용되고 있습니다. - AlexNet과 무엇이 다른지 확인하고 VGGNet16을 구현해 보도록 하겠습니다. 네트워크의 깊이(depth) - 앞서 설명한 AlexNet의 Layer의 수는 8개였습니다. 그에 비해 VGGNet16은 Layers수가 16개로 더 깊어진 것을 볼 수 있습니다. - 망이 깊어지면 출력단에서 하나의 픽셀이 담고 있는 정보의 양이 많..
· AI/DL
GOAL - Alexnet의 구조를 이해 - Tensorflow를 이용하여 AlexNet으로 CIFAR10 데이터셋을 이용하여 분류해보자 AlexNet - AlexNet은 2012년 ImageNet 데이터를 기반으로 한 ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 대회에서 캐나다의 토론토 대학이 차지하는데 당시 논문의 첫 번째 저자가 Alex Khrizevsky이며 이 분의 이름을 따서 AlexNet이라고 부르게 되었다. - SuperVision이 AlexNet을 의미하며 다른 팀들과 차이가 많이 나는 것을 볼 수 있다. - 이 대회 이후 ILSVRC에는 딥러닝을 이용한 모델들이 주를 이뤘으며 더 좋은 성능을 보이게 된다. - 구조적 관점을 보았..
· AI/GAN
출처 : 미술관에 GAN 딥러닝 실전 프로젝트 출처를 가지고 공부한 내용을 정리한 포스팅입니다. - 이때까지 딥러닝을 공부하면서 판별 모델링에만 익숙하여 생성 모델링을 공부했을 때는 한 번에 다가오지 않는 개념이었습니다. 확률을 이용하여 생성하는 생성 모델링에 대해 이 책은 판별 모델링과 비교하여 설명하기 때문에 이해하기 좋은 것 같습니다. 생성 모델링 - 크게 본다면 확률 모델의 관점에서 생성 모델은 데이터 셋을 생성하는 방법을 기술한 것 - 모델에서 샘플링하면 새로운 데이터를 생성할 수 있다. - 훈련 데이터 : 생성하려는 데이터 개체의 샘플을 많이 가진 데이터 셋 - 샘플 : 데이터 포인트 하나, 샘플은 많은 특성(feature)으로 이루어진다. - 생성 모델은 확률적이어야 하며, 모델은 생성되는 ..
· AI/Pytorch
pytorch에서 Dataset을 다루는 방법과 Transform을 사용하는 방법에 대해 알아보겠습니다 https://tutorials.pytorch.kr/beginner/basics/transforms_tutorial.html 여기서 공부를 하였고 정리하였습니다. Transform(변형) - 저희가 학습을 할 때 데이터가 항상 알고리즘 학습에 필요한 최적의 처리가 된 형태로 제공되지 않습니다. 그렇기 때문에 transform을 하여 데이터를 조작하고 학습에 적합하게 만들어야 합니다. - torchVision.datasets에서 매개변수 두 개를 받는데 하나는 feature을 변경하기 위한 transform이며 다른 하나는 label을 변경하기 위한 target_transform입니다. - torchvi..
· AI/Pytorch
pytorch에서 Dataset을 다루는 방법과 DataLoader를 사용하는 방법에 대해 알아보겠습니다 https://tutorials.pytorch.kr/beginner/basics/data_tutorial.html 여기서 공부를 하였고 정리하였습니다. 1) 데이터셋 불러오기 - TorchVision Fashion-MNIST 데이터셋을 불러오는 예제를 하겠습니다. - Fashion-MNIST는 흑백의 28x28 이미지와 10개의 class 중 하나의 label로 구성되어 있습니다. - datasets.FashionMNIST() 입력 매개변수 root : train 또는 test 데이터가 저장되는 경로 train : train용 또는 test용 데이터셋 여부를 지정 True / False downloa..
우준세
'AI' 카테고리의 글 목록