Convolutional Neural Network, CNN은 이미지 인식 & 음식 인식등 다양한 곳에서 사용됩니다.특히 이미지 인식 분야 에서 딥러닝을 활용한 기법은 거이 다 CNN을 기초로 합니다.CNN 전체 구조Convolution Layer(합성곱 계층)과 Pooling Layer(풀링 계층)이 이번에 새로 등장합니다.우리가 본 지금까지의 Neural Network(신경망)은 모든 Neuron과 연결되어 있었습니다.이를 Fully-Connected (FC) - 완전연결 이라고 하며, 완전히 연결된 Layer는 'Affine 계층' 이라는 이름으로 구현했습니다.만약 Affine 계층을 사용하면, Layer가 5개인 Fully-Connected Neural Network(FC 신경망)은 아래의 구림과..
Intro Object DetectionObject Detection은 Deep Learning(딥러닝) 기반으로 발전하였습니다.Object detection은 컴퓨터 비전 분야에서 중요한 연구 주제 중 하나로, 이미지나 비디오 내에서 객체의 위치를 찾고, 해당 객체가 무엇인지를 식별하는 기술입니다.이 기술은 보안 시스템, 자율 주행 차량, 얼굴 인식, 이미지 검색 엔진 등 다양한 응용 분야에서 활용됩니다.PASCAL VOC 대회에서 convnet을 사용하기 전이랑 후랑 성능 지표가 확 상승한것을 볼 수 있습니다.Localization, Detection, SegmentationLocalization, Detection, Segmentation 이 3개의 공통점은 Object의 위치를 찾아주는것입니다.L..
올바른 학습을 위해 Machine Learning에서 Overfitting이 되는 일이 많습니다. Overiftting(오버피팅)은 신경망이 Training data(훈련 데이터)에만 지나치게 적용되어서 그 외의 데이터에는 제대로 대응하지 못하는 상태입니다.Overfitting (오버피팅)오버피팅은 매개변수가 많고 표현력이 높은 모델인 경우, 훈련데이터가 적은 경우에 주로 일어납니다.이 두 요건을 충족하여 Overiftting(오버피팅)을 일으켜 보겠습니다.MNIST Dataset의 훈련데이터중 300개만 사용하고, 7-Layer Network를 사용해서 Network의 복잡성을 높혀보겠습니다.각 Layer의 Neuron은 100개, Activation Function(활성화 함수)는 ReLU 함수를 사..
Batch Normalization - 배치 정규화Batch Normalization (배치 정규화)의 개념은 2015년에 제안된 방법입니다.일단, Batch Normalization(배치 정규화)가 주목받는 이유는 다음의 이유들과 같습니다.Training(학습)을 빨리 할 수 있습니다. 즉, Training(학습) 속도를 개선하는 효과가 있습니다.초깃값에 크게 의존하지 않는다는 특징이 있습니다.그리고 Overiftting을 억제하는 특징이 있습니다. 즉, Dropout등의 필요성이 감소합니다.Batch Normalization(배치 정규화)의 기본 아이디어는 앞에서 말했듯이 각 Layer(층)에서의 Activation Value(활성화 값)이 적당히 분포가 되도록 조정하는 것입니다. 한번 예시를 보겠습..
Parameter(매개변수) 갱신신경망 학습의 목적은 Loss Function (손실 함수)의 값을 가능한 낮추는 매개변수를 찾는것입니다. 이는 곧 매개변수의 최적값을 찾는 문제이며, 이러한 문제를 푸는것은 Optimization(최적화) 라고 합니다.그리고 최적의 Parameter(매개변수) 값을 찾는 단소로 Parameter(매개변수)의 Gradient(기울기-미분)을 이용했습니다.Parameter(매개변수)의 Gradient를 구해, 기울어진 방향으로 Parameter(매개변수) 값을 갱신하는 일을 몇 번이고 반복해서 점점 최적의 값에 다가갔습니다. 이것이 확률적 경사 하강법 - Stochastic Gradient Descent(SGD)라고 합니다.또한 확률적 경사 하강법 - Stochastic G..
이제 한번 컨퍼런스나, 세션에 참여한것도 블로그에 올려보려고 합니다. 원래는 LinkedIn이나 개발인스타에만 올렸는데.. 한번 도전해볼께요! DATA FOR BREAKFAST 컨퍼런스에 온라인으로 참여를 했습니다. 오프라인으로 참여를 하고 싶었는데 벌써 마감이 되었다고 해서.. 아쉬웠습니다. 그래서 온라인으로 참여^^프로그램 일정전반적인 일정은 이렇게 진행이 되었습니다.장소소피텔 앰배서더 서울, 그랜드볼룸 방돔 (4F)서울특별시 송파구 잠실로 209 내용 (Agenda)[Keynote] Intro to the Data Cloud: BusinessSnowflake의 성장과 전략에 대해 소개드리며, 앞으로의 혁신 로드맵에 대해 알아보세요. 발표자: Mike Scarpelli, CFO, Snowflake[K..
Activation Function (활성화 함수)Activation Function(활성화 함수)란? 신경망에서 각 Node & Neuron에서 Input Signal(입력신호)의 총합을 Output Signal(출력 신호)로 변환하는 함수입니다.또한 Nerual Network(신경망)의 Non-Linear 문제를 해결하게 해줍니다.비선형 문제: 입력, 출력 변수간의 관계가 선형이 아닌 문제를 의미합니다. 입력 변수가 작은 변화가 출력에 비례하지 않거나, 예측하기 어려운 변화를 일으키는 경우에 해당Activation Function(활성화 함수)는 임계값을 기준으로 출력이 봐뀝니다, 이런 함수를 Step Function(계산 함수)라고 합니다.그래서 Perceptron(퍼셉트론)에서 Activation..
계속 한번 Data 저장장치, Processor, 컴퓨터의 구성요소, Instruction Set Architecture (ISA - 명령어 집합)에 데하여 알아보겠습니다. Safe Place for Data 휘발성 주기억장치 휘발성 주기억장치는 전원을 끄면 명령어와 데이터가 사라지는 메모리를 말합니다. 예로는 DRAM(Dynamic Random Access Memory)이 있습니다. 이 메모리는 데이터 접근 속도가 빠르지만 전원이 끊어지면 데이터가 사라집니다. 비휘발성 보조 메모리 비휘발성 보조 메모리는 전원이 끊어져도 데이터를 유지할 수 있는 저장 장치를 의미합니다. 자기 디스크: 하드 디스크 드라이브(HDD)와 같은 장치로, 자기 데이터를 물리적으로 저장합니다. 플래시 메모리: 솔리드 스테이트 드라..
Feed-Forward Network Feed-Forward Networks는 가장 기본적인 인공 신경망 구조중 하나로, Input Layer(입력층)에서 Output Layer(출력층)으로 데이터가 순방향으로 흐르는 구조를 의미합니다. 여기서 Data는 각 Layer(층)을 지날 때마다 가중치에 의해 변환되고, Activation Function(활성화 함수)를 통해 다음 Layer(층)으로 전달됩니다 이러한 네트워크는 순환 연결이나 복잡한 Feedback 루프가 없어서 계산이 비교적 간단하고, 다양한 문제에 적용될 수 있습니다. 정리하자면, 데이터가 네트워크를 통해 한 방향으로만 흐른다는 것을 의미합니다. 입력 데이터는 Input Layer(입력층)에서 시작하여 Hidden Layer(은닉층)을 거쳐..
Computer Architecture Hardware / Software Interface 프로그램을 기계어로 변환하는 방법: 프로그래밍 언어로 작성된 소스 코드는 컴파일러나 인터프리터를 통해 기계어, 즉 CPU가 직접 이해하고 실행할 수 있는 기계 코드(machine code)로 변환됩니다. 이 과정을 통해 고수준 언어의 추상적 명령들이 하드웨어가 이해할 수 있는 구체적인 지시로 변환됩니다. 하드웨어가 기계 코드를 실행하는 방법: CPU는 기계 코드의 명령들을 해석하고 실행합니다. 이 과정에는 명령어를 인출(fetch), 해석(decode), 실행(execute)하는 단계가 포함됩니다. CPU 내부의 여러 구성 요소가 협력하여 데이터를 처리하고 결과를 생성합니다. What is Computer? 단순..