본문 바로가기

인공지능13

CNN의 등장과 발전 과정 - 1 (LeNet, AlexNet, GoogleNet) 📌CNN의 등장 CNN은 데이비드 허블(David H. Hubel / 캐나다 신경학자)과 토르스텐 비셀(Torsten Wiesel / 스웨덴 신경학자) 이 두 신경학자는 1959년에 시각피질 구조에 대한 실험을 수행했다. 실험에서는 고양이가 사용되었는데 (그림 1) , 그때 시각피질 안의 많은 뉴런들이 작은 국부 수용 영역 (local receptive field)을 가진다는 결과를 보였다. 즉, 뉴런들이 시야의 일부 범위 안에 있는 시각 자극에만 반응을 한다는 의미다(그림 2). 뉴런의 수용 영역은 서로 겹칠 수 있으며, 이렇게 겹쳐진 영역들이 전체 시야를 이루게 된다. (ps. 두 신경학자 선생님들은 1981년에 대뇌반구의 기능과 시각 정보화 과정에 관한 연구로 노벨 생리학 의학상을 수상했다 역시나 .. 2022. 10. 2.
[DL] 딥러닝 CNN (합성곱 신경망)알고리즘 의 동작원리 이번 시간에는 CNN에 대해 알아보겠습니다. 지난 DNN에서 발생한 overfitting(과적합) 문제에 해결책 중 하나로 나온 것이 CNN이며 computer vision 분야에서 매우 핫하게 사용되는 딥러닝 알고리즘입니다. Overfitting (과적합) 이란 overfitting은 학습 데이터를 과하게 잘 학습하여 새로운 데이터가 들어왔을 때 오히려 낮은 성능을 보이는 것을 말한다. CNN 등장 배경 Convolutional Neural Networks라는 이름은 실제로 Yann LeCun과 팀의 LeNet 설계에서 유래했습니다 (논문: http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf) CNN (Convolutional Neural Net.. 2022. 10. 1.
[DL] 딥러닝 DNN과 인공신경망 동작원리 (feat. 퍼셉트론) 이번시간엔 딥러닝 알고리즘의 기본이 되는 DNN과 인공신경망의 동작원리에 대해 알아보겠습니다. DNN이란? 지난시간에 ANN에 대해 그림과 함께 설명을 했습니다. ANN은 즉, 인공신경망 입니다. DNN(Deep Neural Network)은 이름 그대로 심층 뉴럴 네트워크 입니다. 앞서 설명드린 인공신경망(ANN)에서 hidden layer 를 2개 이상 늘린 알고리즘을 이야기 합니다. DNN의 탄생 배경 우리는 왜 DNN이 나오게 되었는지 생각을 해볼 필요가 있습니다. 이는 ANN에서 모델 내부 은닉층을 늘려 학습의 결과를 향상시키는 방법이 나왔고 이게 곧 DNN입니다. DNN을 응용한게 CNN, RNN 등이 있고 이들에 대해서 다음에 다뤄보겠습니다. 딥러닝 인공신경망의 동작 원리 위 DNN의 구조에.. 2022. 9. 25.
[AI][ML][DL] 머신러닝, 딥러닝 이란? 이번시간엔 머신러닝과 딥러닝에 대해서 알아보고 둘의 차이점과 각각의 세부 알고리즘이 어떤것들이 있는지 알아보는 시간을 가져봅시다. 머신러닝 이란? 머신러닝은 컴퓨터가 스스로 학습할 수 있도록 도와주는 알고리즘이나 기술을 개발하는 분야로 인공지능을 구현하기 위한 하나의 방식 입니다. 이는 기계를 인간처럼 학습시키려는 시도에서 시작이 되었습니다. 머신러닝 알고리즘 유형 머신러닝은 크게 지도학습, 비지도학습, 강화학습 으로 나뉩니다. 지도 학습은 정답이 있는 데이터로 기계를 학습시키는 방법으로, 분류,회귀 가 있습니다. 비지도 학습은 문제의 정답 없이 데이터의 규칙을 기계가 스스로 발견하여 새로운 데이터에 대한 결과를 예측하는 방법입니다. 강화학습은 행동 심리학에서 나온 이론으로 자신이 한 행동에 대해 보상을.. 2022. 9. 25.
[ML] dataset이란? coco dataset 란? Pascal VOC 란? (dataset 종류) 오늘은 데이터셋의 대표적인 형태인 coco와 pascal voc 에 대해 알아봅시다. 데이터셋이란? 데이터셋은 특정 작업을 위해 데이터를 모아둔것 입니다. computer vision 에서 가장 중요한 작업 중 하나는 데이터에 라벨을 지정하는 것입니다. 머신러닝 (특히 지도학습) 에서 이 라벨링을 한 데이터셋은 매우 중요합니다. 데이터셋에 따라 학습의 결과가 천차만별이 될 수 있기 때문입니다. 데이터셋은 다양한 형태로 존재할 수 있습니다. coco dataset 부터 알아보겠습니다. COCO Dataset이란? coco dataset은 공식홈페이지의 정의에 따르면 object detection, segmentation, keypoint detection 등을 위한 데이터 포맷형식 이라고 명시되어 있습니다.. 2022. 9. 5.
[AI] [pytorch] torch.nn.Conv2d 란? torch.nn.conv2d 란? torch.nn.conv2d에 대해 공식홈페이지를 찾아보면 다음과 같이 나와있다. 그대로 해석 하면 여러개의 입력 평면으로 구성된 입력 신호에 대해 2D 컨볼루션 계층을 만든다는 의미다. 말이 어려운데 쉽게 설명하면 2차원 배열의 데이터 (보통은 이미지가 2차원 배열임) 에 컨볼루션을 적용하기 위한 계층을 만드는 메소드 이다. 1차원이나 3차원 데이터는 Conv1d, Conv3d 가 있다. 사용법 torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None.. 2022. 8. 22.