기본 콘텐츠로 건너뛰기

글

라벨이 Book인 게시물 표시

Deep Learning

Goodfellow, Ian, Yoshua Bengio, and Aaron Courville.  Deep learning . MIT Press, 2016. [ Link ] 1. Introduction [ Sum-up ] * AI는 컴퓨터가 잘하는 일(formal task: e.g, 수치계산, 규칙작업)말고 사람이 (직감적으로) 잘하는 일(informal task: e.g., 언어/이미지 이해)을 해결하는데 목표를 가진다.  * 사실 정작 사람은 직감적으로 잘하는 일들(informal tasks)을 왜 잘하는지 모른다. 우리는 그것들을 세상/지식으로부터 배우는 데, 그것들은 지극히 주관적(subjective)이고 직감적(intuitive)이기 때문에 형태적으로 표현(formally describe)하기 힘들다. * AI (deep learning)는 세상/문제를 '계층적 개념'(hierarchy of concepts) 형태로 이해해서 사람이 어떤 개념/형태를 명시(formally specify)해주지 않아도 사람이 잘하는 직감적인 문제(complicated concepts, informal tasks, informal knowledge)들을 자체 지능적으로 해결하고자 한다. * AI에서 Knowledge base (hard-code knowledge)는 사람이 knowledge를 직접 design해줘야 한다. 따라서, (단순 규칙을 통한 추론만으로는) 복잡한 세상/문제의 패턴을 인식하기가 어렵다. 반면, Machine Learning은 사람이 아닌 (수많은) raw data로부터 AI만의 knowledge를 얻는 방식이다. data로부터 직접 얻기 때문에 'reliability'가 있다. 물론 양에 비례할 것이다. * Machine Learning의 문제는 representation/feature에 '상당히' 의존한다는 것이다. 다시 말해, feature를 잘 design하기 위해서는 domain expert로부터의 h...

Introduction to Data Structure Using C

윤성우의 열혈 자료구조 자료구조에 대한 기본적 이해 프로그램 = 자료구조(데이터 표현) + 알고리즘(데이터 처리) 자료구조가 결정되어야 그에 따른 효율적인 알고리즘 설계 가능하다. 알고리즘은 자료구조에 의존적이다. 알고리즘의 성능분석 방법 시간 복잡도(Time Complexity) - 속도      연산의 횟수를 통해 알고리즘의 빠르기 판단           데이터 수의 증가에 따른 연산횟수의 변화 정도 판단           탐색 알고리즘에서 시간 복잡도를 결정하는 핵심 연산자는 동등비교(==)이다. 공간 복잡도(Space Complexity) - 메모리 사용량 일반적으로 알고리즘 성능 평가할 때 메모리 사용량보다 실행속도에 초점을 둔다. 일반적인 알고리즘의 평가에는 논란의 소지가 거의 없는 '최악의 경우(worst case)가 선택된다. Big-Oh Notation은 '데이터 수의 증가에 따른 연산횟수의 증가패턴을 나타내는 표기법이다.' 또는 '데이터 수의 증가에 따른 연산횟수 증가율의 상한선을 표현한 것'이다. Recursive 하노이 타워      가장 작은 단위 패턴을 코딩하고 이를 일반화시키면 된다. 리스트 (List)      순차 리스트 (배열 기반)           배열 자료구조 특징인 Index를 통해서 어느 곳이든 바로 이동이 가능하다.           하지만, 프로그램 실행 전에 크기가 결정되어야 한다.           그리고 배열은 메모리의 특성이 정적이므로 메모리 길이 변경이 불가능하다.           정적인 배열은 필요로 하는 메모리의 크기에 유연하게 대처하지 못한다. ...