딥러닝60 CNN의 풀링(Pooling) 이유 및 연산 CNN에서 합성곱 계층(covolution layer)의 역할은 이전 포스팅에서 이야기했는데요. 이제 풀링 계층(pooling layer)의 역할이 무엇이고 어떻게 연산을 하는지 알아보도록 하겠습니다. 딥러닝 모델에서는 Layer를 많이 쌓을수록 더 정확도가 높아지는 것은 어느정도 증명이 되었습니다. 그런데 그냥 무작정 Layer를 쌓으면 될까요? 아마도 성능적인 부분에서 문제가 될 것입니다. 그렇다면 어떻게 하면 효과적으로 Layer를 쌓을 것인가가 중요하겠죠. 바로 그것이 풀링 계층이 있는 이유입니다. 풀링(Pooling)의 역할 CNN의 풀링 계층은 앞선 합성곱 데이터의 공간 차원을 줄이는 역할을 합니다. 이를 통해 신경망의 계산 복잡성을 줄이는 역할을 합니다. 동시에 공간 관계를 유지하면서 가장 .. 2024. 2. 23. 합성곱(convolution) 계층의 역할: 필터, 패딩, 스트라이드 이전 포스팅에서 CNN의 구조적인 특징에 대해 알아보았습니다. 특이한 점이 합성곱 계층과 풀링 계층이 있다는 거여죠. 이 글에서는 합성곱의 역할과 연산방법 등에 대해 알아보도록 하겠습니다. 합성곱의 역할 합성곱은 데이터의 특징을 찾아서 이미지를 인식하기 위해 사용 됩니다. 가장 기초가 되는 특징(feature)부터 확인하고 그 특징들을 조합해서 복잡한 특징이 존재하는지 살펴본 뒤 마지막으로 물체를 분류하는 방식입니다. 예를 들어, 아래 단계처럼 동작하는 것이죠. 1단계 : 가로, 동그라미, 세모, 부드러움 2단계 : 눈, 코, 귀, 발 3단계 : 고양이 합성곱 연산 합성곱 연산은 이미지 처리에서 말하는 필터 연산을 말합니다. 우선 아래 세 가지 개념을 알고 있어야 합니다. 입력(input) 데이터 : 이.. 2024. 2. 21. CNN의 구조적 특징은 무엇인가? 이미지를 분석한다고 그게 가능한가? 라는 생각을 저도 처음 했었습니다. 상식적으로 feature는 데이터의 값인데 이미지는 어떤 feature가 있는거지 하는 생각 말이죠. 이번 글에서는 이러한 궁금증을 한번 해소해 보겠습니다. CNN의 구조적 특징 CNN(Convolutional Neural Networks)은 주로 이미지와 같은 구조화된 그리드 데이터를 처리하도록 설계되었습니다. CNN의 아키텍처는 여러 레이어로 구성되며, 각 레이어는 입력 데이터에서 특징을 추출하는 특별한 목적을 수행합니다. 우리가 생각한 기본 구조인 완전 연결 계층과는 좀 다른 특성이 있는데요. 여기서 새로운 '합성곱 계층'과 '풀링 계층'이 개념이 나옵니다. CNN의 계층은 Conv-ReLU-(Pooling)의 흐름으로 연결됩니.. 2024. 2. 20. 자기조직화지도(SOM, Self-Organizing Map) 작동 방식과 활용 최근 SOM을 이용한 작업을 하면서 생각보다 효과적이라는 것을 알게 됐는데요. 이 글에서 설명하는 SOM이 작동하는 원리와 활용 방법만 알면 프로젝트에서 쉽게 사용할 수 있을 거라 생각합니다. SOM(Self-Organizing Map)은 비지도 학습을 통해 훈련되는 인공 신경망(ANN)의 한 유형입니다. 1980년대 핀란드의 헬싱키 공과대학의 Teuvo Kohonen 교수가 개발했는데요. SOM은 고차원 데이터를 저 차원 그리드에 매핑하여 시각화하고 이해하는 데 특히 유용합니다. 지도 형태로 나타내기 때문에 Kohonen map이라고도 알려져 있습니다. 우선 이해를 돕기 위해 예시를 들어보겠습니다. 우리 뇌에는 여러가지 입력신호(input)가 들어옵니다. 그리고 우리 눈은 2차원, 3차원으로 이미지화해.. 2024. 2. 19. 하이퍼파라미터 튜닝 베이지안 최적화(Bayesian Optimization) 이전 포스팅에서는 하이퍼파라미터 튜닝 중 Model-Free(모델을 사용하지 않는 방법, Grid search, Random search)에 대해 알아보았다면 이번 글은 Model-Based(모델을 사용하는 방법) 중 가장 많이 사용하는 Bayesian Optimization에 대해 살펴보도록 하겠습니다. Bayesian Optimization란 베이지안 최적화는 특히 함수 평가에 비용이 많이 들거나 시간이 많이 걸리는 경우 블랙박스 함수를 최적화하기 좋은 방법입니다. 베이지안 최적화의 원리는 지금까지의 관찰을 기반으로 목적 함수의 확률적 모델을 만드는 방법인데요. 생각보다 설명이 쉽지 않으니 우선 두가지만 기억하세요. 기존 추출 기반의 목적함수를 정의하고 최대 또는 최소로 하는 최적값을 찾는 방법 기존.. 2024. 2. 15. 하이퍼파라미터 튜닝 종류: Grid vs Random search 하이퍼파라미터 튜닝은 머신러닝 모델 개발에서 중요한 단계입니다. 여기에는 성능을 향상시키기 위해 최적의 하이퍼파라미터를 선택하는 작업이기 때문이죠. 하이퍼파라미터 조정에는 여러 가지 방법이 있으며 각각 고유한 특징이 있습니다. 이 글은 하이퍼파라미터 튜닝 중 모델을 사용하지 않는 밥벙에 대해 소개하겠습니다. 하이퍼파라미터 튜닝 종류 1. Model-Free(모델을 사용하지 않는 방법) Manual(수동) search, Grid(그리드) search, Random(랜덤) search 분석가가 매뉴얼하게 하게 범위를 좁혀간다는 측면에서 Manual Search라고 합니다. 실제 분석가의 감이나 경험으로 하는 방법을 manual search라고 합니다. 2. Model-Based(모델을 사용하는 방법) Bay.. 2024. 2. 14. 하이퍼파라미터 튜닝 방법과 특징은? 수지, 남주역 주연의 스타트업(Start-Up) 드라마를 보다보면, 대회에서 머신러닝 개발자들이 하이퍼파라미터 바꿔볼까? 활성함수 교체해 볼까? 하는 대화가 있습니다. 드라마에서 나왔던 그 하이퍼파라미터 튜닝을 꼭 해야 할까요? 정답은 '해야 한다'입니다. 우리가 만든 모델은 아직 최적화가 되어 있지 않은 상태입니다. 보이지 않는 모델 성능을 올릴 수 있게 해 주기 때문에 머신러닝 모델을 훈련하는 과정에서 필수적인 단계입니다. 하이퍼파라미터란 무엇이고 그 방법에 대해 알아보겠습니다. 하이퍼파라미터 튜닝이란? 보통 파라미터(모수)는 가중치, 편향 등 머신이 찾아가는 값을 말합니다. 하이퍼파라미터(비모수)는 사람이 정하는 값이라고 생각하면 됩니다. 각 층의 뉴런 수, 배치 크기, 매개변수 갱신 시의 학습률 .. 2024. 2. 13. 드롭아웃(drop-out) 개념과 꼭 알아야 할 고려사항 데이터 과학자들은 최적의 모델 성능을 위해 여러가지 노력에서 드롭아웃(drop-out)이라는 개념이 등장했습니다. 2012년 Geoffrey Hinton과 그의 동료들에 의해 드롭아웃이 소개되죠. 참고로 논문은 "Dropout: A Simple Way to Prevent Neural Networks from Overfitting"입니다. 링크에서 논문을 확인할 수 있습니다. 어쨌든, 드롭아웃이 처음 등장했을 때 분석가라면 지긋지긋하게 시달리는 과적합 이슈에 대한 답안지처럼 느껴졌습니다. 이 글에서 우리는 드롭아웃의 개념과 사용하는 데 있어서 중요한 고려 사항에 대해 알아보겠습니다. 드롭아웃(drop-out)이란? 드롭아웃은 훈련(training) 중에 무작위로 "탈락"하거나 특정 비율의 뉴런을 제외하는 .. 2024. 2. 8. 가중치 감소(weight decay) 딥러닝에서 오버피팅 발생하게 되는 조건은 매개변수가 많고 표현력이 높은 모델(복잡한 모델)에서 발생하게 됩니다. 또 훈련 데이터 너무 적어 충분한 데이터 확보가 되지 않았을때도 발생하죠. 오버피팅을 방지하는 방법 중 이번 글에서 weight decay라는 방법에 대해 설명하도록 하겠습니다. 가중치 감소(weight decay)란 가중치 매개변수의 값이 커서 과적합이 발생하는 경우를 막기 위해 적용하는 기술 입니다. 가중치 감소(weight decay)는 학습과정에서 큰 가중치에 대해서는 그에 상응하는 큰 패널티를 부과하여 오버피팅을 억제합니다. L2 정규화 또는 가중치 정규화라고도 합니다. 모델이 큰 가중치를 사용하지 못하도록 손실 함수에 페널티 항을 추가하는 방법입니다. 다시말해, 가중치의 제곱 Nor.. 2024. 2. 7. 이전 1 2 3 4 5 6 7 다음