분류 전체보기

    06_CNN ILSVRC,CNN모델들

    CNN모델에는 무수히 많은 디자인 요소가 들어가 있다. (레이어의 depth, Pooling사이즈 등) 개개인이 모든 디자인 요소들의 가능성을 탐구하고 분석하는것은 현실적으로 불가능하기에 잘 동작하는 것이 검증된 표준 CNN모델을 사용하는것이 필요하다. ImageNet Large-Scale Visulal Recognition Challenge(ILSVRC) 120만장의 traning images와 5만장의 validation images 등의 데이터를 가지고 성능을 비교하는 대회이다. 1000개의 카테고리가 있기 때문에 가장 확신의 정도가 큰 1개의 값이 정답과 일치하는 방식인 TOP-1 과 가장 확신의 정도가 큰 5개안에 정답이 있는지 TOP-5 의 두개의 성능분석이 가능하다. 2012년 이전에는 CN..

    05_CNN 기초

    컴퓨터 비전에는 몇몇 어려운 점이 있다. 컴퓨터가 결국 이미지를 볼때는 0~255로 이루어진 숫자값을 가지고 이미지를 보게 된다. 사람은 이를 색으로 인지하고 있다. 즉, 컴퓨터가 이런 숫자 매트릭스로 되어있는 것만보고 의미를 부여해야하는데 이는 쉽지 않다. 저차원적 특징에서 고차원적 정보를 추출하는게 어렵기 때문에, 컴퓨터 비전으로 보는것은 어렵다! 특히 같은 공간에서 같은 대상을 찍어도 밝기에 따라서 픽셀을 완전 달라질 수 있다. 좀 더 생각하자면 배경과 고양이가 비슷한 색이어도 컴퓨터가 보기에는 마찬가지이다. 즉, 밝기, 변형, 가려짐, 배경등의 요소에 의해 영상인식의 난이도는 점점 올라가게 된다. Handcrafed Feature 사람이 정한 특징 예를들어 줄무늬를 인식하는 필터를 사용해서 고양이..

    04_오토인코더

    오토인코더는 대표적인 비지도학습을 위한 인공신경망 구조이다. 지도학습과는 다르게 데이터의 숨겨진 구조를 발견하는 것이 목표인 학습방법이다! 좀더 구체적으로 간면 오토인코더는 출력층의 노드 개수와 입력층의 노드 개수가 동일한 구조의 인공신경망이다. 구조는 입력층, 은닉층, 출력층으로 전에 배웠던 ANN과 비슷한 구조를 가지고 있다. 특히 오토인코더는 입력층을 재구축하여 거의 비슷한 원본이 나오게 된다. 그렇다면 이런 재구축이 어떤 용도가 있을까? 자세히보면 은닉층의 노드 개수가 더 적은것을 확인할 수 있는데, 결과적으로 은닉층의 출력은 원본 데이터에서 불필요한 특징은 제거된, 압축된 특징을 학습하게 된다. 예를 들어 동물들의 길이, 몸무게, 주인의 나이, 주인의 몸무게 4개의 특징이 주어진 상황에서 데이터..

    03_다중 퍼셉트론 MLP,인공신경망

    ANN(인공신경망) 실제 딥러닝 알고리즘에서 사용되는 기법중 하나이다. 해당 기법은 생물학적 신경망에서 아이디어를 얻었는데, 인간의 뇌가 여러개의 신경세포끼리 연결되어 있고, 이들이 병렬적으로 연산을 진행하는것이 발견되어 이에서 아이디어를 따왔다. 보통 인간의 뇌속에는 10^14개의 뉴런과 뉴런이 연결되어 있다! 즉, 쉽게 말하면 인간의 뇌 자체가 하나의 엄청난 병렬 처리 연산기라고 볼 수 있다. 하지만 컴퓨터는 메모리에서 값을 불러와 CPU에서 순차적으로 연산하는 순차처리 연산기이다. 물론, 컴퓨터는 하나의 연산을 처리하는 속도가 빠르지만, 물체인식,음성인식등 인지활동을 잘 못하는 단점이 있다. 이로인해 컴퓨터도 인간처럼 병렬처리를 하게 된다면?? 이란 생각에서 시작되었다. 퍼셉트론 인공신경만의 개념은..

    1520_내리막길

    문제는 더보기! 더보기 내리막 길 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 50394 13879 9909 28.147% 문제 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 지점까지 가고자 한다. 위와 같은 지도에서는 다음과 같은 세 가지 경로가 가능하다. 지도가 주어질 때 이와..

    11049_행렬 곱셈 순서 (파이썬,설명)

    문제는 더보기! 더보기 행렬 곱셈 순서 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 18328 8414 5997 44.439% 문제 크기가 N×M인 행렬 A와 M×K인 B를 곱할 때 필요한 곱셈 연산의 수는 총 N×M×K번이다. 행렬 N개를 곱하는데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라지게 된다. 예를 들어, A의 크기가 5×3이고, B의 크기가 3×2, C의 크기가 2×6인 경우에 행렬의 곱 ABC를 구하는 경우를 생각해보자. AB를 먼저 곱하고 C를 곱하는 경우 (AB)C에 필요한 곱셈 연산의 수는 5×3×2 + 5×2×6 = 30 + 60 = 90번이다. BC를 먼저 곱하고 A를 곱하는 경우 A(BC)에 필요한 곱셈 연산의 수는 3×2×6 + 5×3×6..