본문 바로가기
728x90

Deep Learning (AI)/이론 및 기술면접 정리6

[DL] 오토인코더(Autoncoder) 본 포스팅은 DMQA 오픈 세미나 자료 및 영상을 참고하여 정리하였습니다. http://dmqm.korea.ac.kr/activity/seminar/330 고려대학교 DMQA 연구실 고려대학교 산업경영공학부 데이터마이닝 및 품질애널리틱스 연구실 dmqa.korea.ac.kr 1. 오토인코더란 무엇일까? 정의 : 레이블이 없는 비지도학습에 주로 사용되는 신경망 형태이다. 구조 : Encoder와 Decoder가 bottleneck 구조를 이룸 Encoder : 입력 데이터를 의미있게 함축된 representation한다. Decoder : Encoding 된 representation을 다시 원본 데이터로 복원 reconstruction loss : 입력 데이터와 복원 데이터의 차이를 학습하여, loss를.. 2023. 8. 23.
[DL] Batch Normalization이란? 효과? ICS? Smoothing? 이 포스팅은 아래 강의를 정리 및 일부항목을 추가한 것입니다. 매우 유익하고 설명이 자세하니 참고 바랍니다. https://www.youtube.com/watch?v=58fuWVu5DVU Batch Normalization 효과 ① 학습 수렴속도가 빠르다. - 적은 epoch으로도 사용하지 않는 것 대비 높은 성능을 달성 ② 가중치 초기화(weight initalization)에 대한 민감도를 감소시킨다. - 모델을 학습할 때, 하이퍼파라미터의 변경은 모델의 수렴을 크게 좌우하지만, BN을 사용하면 덜 정교한 하이퍼파라미터 세팅이더라도 정상적으로 수렴한다. 예를 들어 learning-rate를 크게 잡아 모델이 학습이 안되는 경우에 BN을 적용시 정상적으로 수렴하는 것을 볼 수 있다. ③ 모델의 일반화(.. 2023. 8. 15.
Cost Function은 무엇이며, 알고 있는 cost function에 대해서 말해주세요 cost function(=loss function)은 모델이 최적의 파라미터를 찾도록 사용자의 의도에 따라 올바른 학습방향을 안내해주는 함수입니다. Task에 따라 그 목적이 상이할 수 있는데, 예를 들어 지도학습의 classification에서는 정답과의 차이를 cross entropy loss를 통해 모델이 카테고리를 분류할 수 있도록 하는데, 이때 학습되는 방향은 정답에 대한 예측값과 정답이 아닌 예측값에 대해서 미분방향을 반대로 주어서 분리되도록 학습합니다. 결국 CE loss가 최소가 되도록 합니다. 이와 유사한 loss function으로는 MAE, MSE, BCE, KLD가 있습니다. 이와 반대로 loss function의 값을 최대가 되도록 하는 loss는 negative pair los.. 2023. 8. 4.
MLP에서 1x1을 사용해서 Bottleneck 구조를 설계하고, 그렇게 설계한 이유는? MLP에서의 1x1 conv를 사용한 Bottleneck 구조의 설계는 다음과 같습니다. (n,c) -> (1x1,c/4) -> activation function -> (c/4,c/4) -> activation function -> (1x1, c) -> activation function -> (n,c) 그리고 입력과 출력을 더해주면 완성입니다. CNN에서의 여러 채널들은 여러 filter들을 사용해 이미지에서의 지역적인 다양한 특징들을 추출하여, 특정 채널은 이미지의 특정 특징과 반응하게 된다고 생각합니다. 이와 유사하게 MLP에서의 채널도 이미지의 전체를 보고 해당 이미지에 대한 특징을 대표적으로 표현한다고 할 수 있습니다. 이를 1x1 conv의 Bottleneck구조를 적용한다면, CNN에서와 .. 2023. 8. 3.
1x1 convolution은 언제 사용되며 의미와 효과? 1x1 convolutionn은 적은 파라미터로 깊은 신경망을 학습하기 위해서 사용되며, 대표적으로 ResNet50의 Bottleneck 구조에 이용됩니다. 신경망 특성상 깊어질수록 채널수가 더욱 증가하여 특징들을 고차원화하여 복잡한 패턴을 인식하도록 합니다. 하지만, 신경망이 깊어질수록 그만큼 컴퓨팅이 증가하기 때문에 성능대비 비효율적입니다. 하지만 1x1 conv기반의 Bottleneck구조를 사용하게 되면, 채널을 줄이고 특징을 추출하고 다시 채널을 늘리는 방식으로 적은 채널의 텐서에서 특징을 추출, 중간중간에 relu와 같은 activation function으로 비선형성을 증가시켜줍니다. 그러므로 적은 파라미터로 깊은 신경망을 쌓아 더 복잡한 패턴을 파악할 수 있습니다. Bottleneck의 예.. 2023. 8. 3.
딥러닝은 무엇이며, 머신러닝과의 차이점은? 딥러닝은 깊은 인공신경망을 이용해 대량의 데이터에 대하 복잡한 패턴을 학습하는 것입니다. 딥러닝과 머신러닝의 차이는 깊이와 복잡성에 있습니다. 머신러닝은 딥러닝에 비해 계층구조가 얕고, 비교적 소규모의 데이터에 적합한 학습을 목표로 합니다. 그렇기 때문에 사용자가 데이터의 전처리와 특징추출에 대해서 많이 개입하게 됩니다. 반면에 딥러닝은 대용량의 원시 데이를 기반으로 복잡한 패턴을 모델이 스스로 추출 및 파악하도록 학습하기 때문에 사용자의 개입이 매우 적습니다. 즉, 머신러닝은 의도하는 기계학습만을 사용자가 예측 가능한 수준에서 수행하지만, 딥러닝은 모델이 사용자가 예측하는 것을 넘어서 스스로 매우 복잡한 패턴을 파악하도록 합니다. 2023. 8. 3.
728x90