Group Study (2022-2023)/Machine Learning 16

[Machine Learning] 8주차 스터디_RNN(Recurrent Neural Network)

RNN[Recurrent Neural Network] RNN 등장 배경 이전의 Neural network는 하나의 x 입력에 대한 y출력의 간단한 형태였기 때문에 sequence data를 처리하기 어려웠음! RNN이 등장하면서 series data, 즉 이전 데이터가 다음 데이터 연산에 영향을 미치는 Sequence data에 유리해 짐. * x 입력이 있을 때 RNN이라는 연산을 통해서 state를 계산하고 그 state가 다시 입력이 되는 형태. * 각각의 RNN cell에서 y값을 예측해낼 수 있음. RNN 연산 ** RNN에는 'state' 라는 개념이 존재! 새로운 state를 구할 때, 이전의 state 값이 입력으로 사용됨. 1. state를 계산 x 입력 값, 이전의 RNN cell에서 ..

[Machine Learning] 8주차 스터디 - Segmentation: U-Net

U-Net: Convolutional Networks for Biomedical Image Segmentation 이미지를 인식하는 다양한 방법 Classification Classification + Localization Object Detection: 여러 개의 개체가 있는 곳을 탐지(bbox로 표현) Instance Segmentation: Object Detection과 유사하지만 픽셀별로 어떤 클래스에 해당하는지 구별 Semantic Segmentaion 이미지 내에 있는 각 물체들을 의미 있는 단위로 분할하는 작업으로, 분류의 경우는 단일 이미지를 하나의 클래스로 분류했지만 분할의 경우는 각 픽셀마다 하나의 클래스로 분류한다. 이미지가 주어졌을 때, 한 장의 분할 맵을 생성하는 것이 목표이다..

Part 3. Convolutional Neural Network(2)

먼저 간략하게 object dectection란 물체의 위치를 탐지하는 bounding box regression과 물체를 분류하는 object classfication 으로 이뤄져있습니다. object detection은 이 두과정을 몇단계로 나누느냐에 따라 1-stage detector, 또는 2-stage detector라고 하는데, 우리가 오늘 다룰 yolo는 1-stage detector 입니다! yolo는 정확한 성능보다 자율주행이나 로봇같이 real-time application을 위한 빠른 속도의 알고리즘에 초점을 두고있습니다. 1-stage detector 는 input image를 입력받으면 feature extractor를 통해 feature 에 대한 정보를 얻고 각 grid 별 연산..

[Machine Learning] 7주차 스터디 - PART 3: Convolutional Neural Network (2) / Side Project Team Building

목차 더보기 1. CNN 2. Convolution Layer 3. Pooling Layer 4. Fully Connected Layer 1. CNN DNN의 문제점 일반 DNS는 1차원 형태의 데이터를 flatten 시켜서 한 줄 데이터로써 처리한다. 이 때, 이미지가 입력되는 경우 공간적/지역적 정보를 손실하고 추상화 과정이 없기 때무에 학습 시간과 성능 효율이 떨어진다. CNN이란? 1차원 데이터를 넘어서 이미지나 영상 데이터를 처리하는 모델이다. 이를 위해 Convolution이라는 전처리 과정을 수행한다. CNN은 이미지의 공간적/지역적 정보를 유지한 채 특징들의 채널을 쌓는다. 따라서 이미지 전체가 아닌 부분을 집중하는 것, 한 픽셀과 주변 픽셀들의 연관성을 추출하는게 핵심이다. 2. Conv..

[Machine Learning] 6주차 스터디 - PART 2: Basic Deep Learning (2) / PART 3: Convolutional Neural Network (1)

목차 더보기 1. Sigmoid 함수의 문제점 2. Relu 함수 3. Weight Initialization 4. Dropout 5. Batch Norm 6. ConvNet 1. Sigmoid 함수의 문제점 기존 Neural Network의 학습 과정 기존 neural network는 어떠한 입력을 받고 그에 해당하는 결과를 출력한다. 이때 그 결과와 실제 데이터(ground truth data)의 차이를 로스라고 한다. 로스값을 미분한 것을 Gradient라고 하고 그래프의 관점에서 기울기에 해당한다. Gradient를 Back propagation하면서 네트워크를 학습시킨다. Sigmoid 함수 그래프를 보면 0 주변의 기울기 값이 매우 크다는 것을 알 수 있다. 반면 극단 좌표계 쪽의 기울기 값은..

[Machine Learning] 5주차 스터디 - PART 2: Basic Deep Learning

인간 뉴런의 자극 전달 과정에 아이디어를 착안하여 Machine Learning Algorithm 이 발생하였다. 뉴런은 단순하게 동작이 된다. 인간의 뉴런은 시냅스를 통하여 다른 뉴런으로부터 자극을 전달받고 시냅스를 통하여 다른 뉴런에게 자극을 전달하는 과정을 통해서 학습을 진행한다. x = 신호(입력값), input w = 가중치, Weight b = 편향, Bias f = 활성화 함수, Activation Function 여러개의 퍼셉트론의 합을 전달해주는 시냅스의 역할은 여러 layer를 잇는 weight/bias(error)가 된다. 들어오는 어떤 신호 input 과 가중치를 곱하여 Bias 를 더한 값이 일정값을 넘어가게 되면 activation(활성화)이 된다. X1, X2를 Linear하게..

[Machine Learning] 6주차 스터디 - Object Detection: YOLOv1~v2

Introduction One-Stage Detector 이미지가 들어오면 Conv & FC Layers를 거져서 output을 만들게 되고 이를 통해서 Classification과 Box Regression을 진행한다. Two-Stage Detector 원본 이미지 -> Region Proposal -> 객체가 있을 것 같은 영역을 찾아낸다. 원본 이밎 -> Classification를 통해서 Feature map을 뽑아낸 후 -> Proposed Regions를 Feature map에 투영시켜서 Classification과 Box Regression을 진행 YOLO Main Contribution object detection 을 regression problem으로 관점 전환 Unified Arch..

[Machine Learning] 5주차 스터디 - Object Detection: -stage-detector

스탠포드대학에서 발표한 CNN 강의 영상을 듣고 자료를 정리했습니다. Lecture 11 | Detection and Segmentation https://www.youtube.com/watch?v=nDPWywWRIRo Lecture 11 | Detection and Segmentation Computer Vision Task로는 총 4가지가 있다 그 중 Segmantic Segmentation과 Classification + Locaization 과 Object Dectection를 다뤄볼 것이다. 1. Semantic Segmentation 픽셀로 모든 사물 구분한다 전체 이미지에 하나의 카테코리를 할당하는 것이 아니라 픽셀 별로 카테고리를 할당 단점 : 객체들의 개수는 파악할 수 없다. 두 마리 소..

[Machine Learning]4주차 스터디 - ResNet 논문 요약 및 코드실습

1. Introduction ResNet은 이해하기 쉬우면서 모델의 성능을 향상시켰다는 점에서 많이 활용되고 있다. ResNet의 가장 큰 특징은 잔여학습을 이용했다는 점이다. 딥러닝은 지금까지 망을 깊게 할수록 성능이 높을것이라고 생각해왔었는데 위 그림을 보면 오히려 56 layer를 갖는 네트워크가 20 layer를 갖는 네트워크보다 성능이 좋지 않은 것을 확인할 수 있다. ResNet은 이러한 문제를 잔여 학습(residual learning)을 이용해 개선하였다. residual block의 역할 네트워크에 대한 optimization 난이도 낮춤 H(x)를 학습하는것이 어려우므로 대신 F(x)= H(x)-x를 학습한다. 학습된 x는 그대로 가져오고, 추가적으로 F(x)를 더해줌 => 전체를 학습..

[Machine Learning] 3주차 스터디 - CNN의 이해(3)

CNN 경계를 잘 분류한다. 그 이상의 구체적인 분류도 가능하다. 그 경계 상자만 찾는 것이 아니라 모든 픽셀에 대한 레이블을 지정할 수도 있다. 얼굴 인식 가능, 포즈 인식 가능, 게임에서의 강화 학습에 사용된다. 의료 이미지의 해석 및 진단, 은하 분류, 거리 표지판 분류, 고래 인삭(Kaggle Challenage), 거리 분류, 사진을 찍고 특정 화가의 이미지로 다시 이미지화(Redraw)에도 사용된다. How CNN Works Fully Connected Layer(FC) 만약에 32 * 32 * 3 이미지가 들어왔을 때, 이를 3072차원의 벡터로 변경시킨다.이미지들의 픽셀들을 다 일렬로 나열시킨다고 볼 수 있을듯? 강의에서는 strectch to 3072 * 1이라고 표현. 그렇게 된다면 1..