T'SPACE

다채로운 에디터들의 이야기

728x90
반응형

인공지능 15

Custom Convnets 특수 제작 Convnet

컨볼루션 신경망(Convolutional Neural Networks, CNNs)의 작동 원리와 설계 방법컨볼루션 신경망(CNN)은 이미지 처리 및 분류 작업에서 매우 강력한 도구로 자리 잡았고CNN은 이미지를 분석하고 특징을 추출하는 능력으로 인해 컴퓨터 비전 분야에서 널리 사용되고 있습니다. 이번 글에서는 CNN이 어떻게 이미지로부터 정보를 추출하고 이를 학습하여 이미지 분류 문제를 해결하는지, 그리고 직접 CNN 모델을 설계하는 방법에 대해 알아보겠습니다.1. CNN의 기본 작동 원리CNN이 이미지를 분석하는 과정은 세 가지 주요 단계로 나눌 수 있습니다: 필터링(Filter), 검출(Detect), 그리고 축소(Condense). 이러한 과정들을 통해 CNN은 이미지로부터 유용한 특징들을 추출해냅..

Stride CNN, 보폭

필터링, 검출, 압축: CNN에서 슬라이딩 윈도우 사용법컨볼루션 레이어로 필터링ReLU 활성화 함수로 검출최대 풀링 레이어로 압축컨볼루션과 풀링 작업은 모두 슬라이딩 윈도우를 사용해 수행됩니다. 컨볼루션에서는 이 윈도우가 kernel_size로 정의되고, 풀링에서는 pool_size로 정의됩니다.컨볼루션과 풀링 레이어에 영향을 미치는 추가적인 두 가지 매개변수는 윈도우가 이동하는 거리인 strides와 입력 이미지의 가장자리에 대해 패딩을 적용할지 여부를 결정하는 padding입니다.from tensorflow import kerasfrom tensorflow.keras import layersmodel = keras.Sequential([ layers.Conv2D(filters=64, ..

Maximum Pooling 최대값 풀링

CNN의 최대 풀링과 글로벌 평균 풀링 이해하기컨볼루션 신경망(CNN)은 이미지 분류 및 분석에서 중요한 도구입니다. 이번 글에서는 CNN의 중요한 구성 요소인 최대 풀링(Max Pooling)과 글로벌 평균 풀링(Global Average Pooling)에 대해 알아보겠습니다.최대 풀링(Max Pooling)최대 풀링은 CNN의 특성 맵에서 중요하지 않은 정보를 제거하고 중요한 정보를 추출하는 역할을 합니다. 이는 주로 이미지의 활성화된 부분을 강조하는 데 사용됩니다. 예를 들어, 아래의 코드에서 최대 풀링을 적용한 모델을 정의할 수 있습니다.from tensorflow import kerasfrom tensorflow.keras import layersmodel = keras.Sequential([ ..

CNN - Convolution Neural Networks

컨볼루션 분류기 Convolution Classifier우리의 목표는 신경망이 자연 이미지를 충분히 "이해"하여 인간의 시각 시스템이 해결할 수 있는 동일한 종류의 문제를 해결할 수 있도록 학습하는 방법을 배우는 것입니다.이 작업에 가장 적합한 신경망은 컨볼루션 신경망입니다. (때로는 convnet 또는 CNN이라고도 합니다.)이미지 분류에 사용되는 컨브넷은 컨볼루션 베이스와 밀집 헤드의 두 부분으로 구성됩니다.베이스는 이미지에서 특징을 추출하는 데 사용됩니다. 주로 컨볼루션 연산을 수행하는 레이어들로 구성되지만, 종종 다른 종류의 레이어들도 포함됩니다. (이 부분에 대해서는 다음 레슨에서 배울 것입니다.)헤드는 이미지의 클래스를 결정하는 데 사용됩니다. 주로 밀집 레이어들로 구성되지만, 드롭아웃 같은 ..

딥러닝 모델 성능 향상을 위한 Dropout과 Batch Normalization

딥러닝 모델을 설계할 때, 뉴런이 포함되지 않은 특별한 레이어를 추가함으로써 모델의 성능을 향상시킬 수 있습니다. 이번 포스트에서는 그런 레이어 중 두 가지인 Dropout과 Batch Normalization에 대해 알아보겠습니다. 이 두 레이어는 현대적인 딥러닝 아키텍처에서 흔히 사용됩니다.Dropout첫 번째로 소개할 레이어는 과적합(overfitting)을 방지하는 데 도움을 주는 "드롭아웃 레이어"입니다.딥러닝 모델은 때때로 특정 가중치 조합에 의존하여 잘못된 패턴을 학습할 수 있습니다. 이러한 조합은 매우 구체적이어서 하나만 제거해도 모델의 성능이 급격히 떨어질 수 있습니다. 이를 방지하기 위해 드롭아웃을 사용합니다. 드롭아웃은 훈련 중 매 스텝마다 레이어의 입력 유닛 일부를 무작위로 제거하여..

Stochastic Gradient Descent 경사하강법

신경망 훈련 방법: 학습 과정 이해하기이번 강의에서는 신경망을 훈련시키는 방법과 신경망이 어떻게 학습하는지를 알아보겠습니다.모든 머신러닝 작업과 마찬가지로, 우리는 먼저 학습 데이터를 준비해야 합니다. 학습 데이터의 각 예시는 입력(특징)과 기대 출력(목표)으로 구성됩니다. 신경망을 훈련시킨다는 것은, 이러한 입력을 출력으로 변환할 수 있도록 네트워크의 가중치를 조정하는 것을 의미합니다.학습 데이터를 준비하는 것 외에도, 우리는 두 가지 요소가 더 필요합니다:손실 함수: 네트워크의 예측이 얼마나 좋은지를 측정합니다.최적화 알고리즘: 네트워크가 가중치를 어떻게 변경해야 할지 알려줍니다.손실 함수손실 함수는 모델의 예측값과 목표값의 차이를 측정합니다. 문제 유형에 따라 다른 손실 함수를 사용할 수 있습니다...

딥뉴럴 네트워크 Deep Neural Networks

레이어 Layers신경망은 일반적으로 뉴런을 레이어로 조직화합니다. 동일한 입력을 가진 선형 유닛들을 모으면 밀집층(dense layer)이 됩니다.신경망의 각 레이어는 상대적으로 간단한 변환을 수행한다고 생각할 수 있습니다. 여러 레이어가 쌓이면서 신경망은 입력을 점점 더 복잡한 방식으로 변환할 수 있습니다. 잘 훈련된 신경망에서는 각 레이어가 점점 더 정답에 가까워지도록 변환을 수행합니다.활성화 함수 Activation Function그러나, 두 개의 밀집층을 중간에 아무것도 없이 연결하면 하나의 밀집층과 크게 다르지 않습니다.→ 여러 선형 변환을 거쳐도 여전히 선형이기 때문입니다.밀집층만으로는 단순한 선과 평면의 세계를 벗어날 수 없습니다. 우리는 비선형적인 무언가가 필요합니다. 바로 활성화 함수입..

딥러닝과 뉴런, 파이썬 케라스 코드

딥러닝이란 무엇인가?딥러닝은 기계 학습의 한 접근 방식으로, 깊이 있는 계산 스택이 특징입니다. 이러한 깊은 계산이 딥러닝 모델이 복잡하고 계층적인 패턴을 파악할 수 있게 해주며, 이는 가장 도전적인 실제 데이터셋에서 발견됩니다.신경망은 이러한 강력함과 확장성을 통해 딥러닝의 대표적인 모델이 되었습니다.선형 유닛 Linear Unity=wx+b신경망의 연결에는 w라고 하는 가중치가 있습니다. 값이 연결을 통해 흐를 때마다, 그 값을 연결의 가중치로 곱합니다.신경망은 가중치를 수정함으로써 "학습"합니다.b는 바이어스 (bias) 라고 불리는 특별한 종류의 가중치입니다. 바이어스는 입력 데이터와 연관되지 않은 출력 값을 조정할 수 있게 해줍니다.다중 입력 하나의 뉴런에 더 많은 입력 연결을 추가하여 각 추가..

파이선 pandas 라이브러리 get_dummies()

get_dummies()https://tonnykang.tistory.com/216 k-Nearest Neighbors (k-NN) 모델 KNNk-NN(k-Nearest Neighbors)는 지연 학습 알고리즘이다.정의k-NN은 함수가 Locally (가깝게) 근사되고, 모든 계산이 함수 평가 시점까지 미뤄지는 지연 학습 알고리즘이다. 분류와 회귀 모두에서 알고리즘은tonnykang.tistory.comKNN 모델은 참 편하고 단순한 Base 모델로 사용하기에는 너무나 좋은 모델이다 하지만 각 instance간의 거리를 구해야하는 모델이기에범주형 Catagorical Feature같은 경우에는 문제가 생긴다... 예를 들어 아래와같은 데이터가 있다고 하자data = { 'Color': ['Red',..

Naive Bayes model, 네이브 베이즈 모델

네이브 베이즈는 베이즈 정리에 기반한 간단하지만 효과적인 확률론적 분류기의 집합이다."네이브(Naive)"라는 이름은 각 특성(또는 예측 변수)들이 클래스 레이블에 대해 서로 독립적이라고(independent) 가정하기 때문에 붙여졌다. 실제로 미국에서는나이브라고 발음한다단순한 사람보고  Don't be so Naive!이런식으로 사용된다 Independent 하다는 이 가정은 실제 데이터에서는 자 만족되지 않지만 계산을 크게 단순화시켜 준다.Bayes' Theorem 베이즈 이론P(C|X) = P(X|C)P(C) / P(X)  여기서:P(C|X)는 특성 X가 주어졌을 때 클래스 C의 사후 확률이다.P(X|C)는 클래스 C가 주어졌을 때 특성 X를 관측할 가능성인 값으로, 훈련 데이터 (Train Set..

728x90
반응형