ML - Lecture 20: Convolutional Neural Networks
시대가 점점 지나고 점점 neural network가 발전하게 되면서 deep learning의 중요성은 늘어나고 있다. 그중 특히 vision쪽에서의 유용함이 크다.
시대가 점점 지나고 점점 neural network가 발전하게 되면서 deep learning의 중요성은 늘어나고 있다. 그중 특히 vision쪽에서의 유용함이 크다.
이제 이 neural network를 실제로 어떻게 써야할지에 대해 다뤄보자.
앞에서는 neural network가 무엇인지에 대해 배웠다. 이번에는 앞에서 언급한 back propagation을 해볼 것이다.
이제 그 유명한 neural network에 대해 다루어 볼 것이다. 이번 장에서의 목표는 classifier를 좀더 복잡하고 non-linear한 feature를 사용하는 것이다. Linear한 model은 만들기가 쉽지만 실제로는 잘 적용이 안된다는 단점이 있다. 그래서 pol...
앞에서 공부를 하면서 느꼈을 것인데 dimension이 크고 그러면 힘들다고 배웠다. 근데 정확히 왜 그런 것일까? 이번 장에서는 그 정확한 이유에 대해 알아보고 PCA와 LDA라는 방법을 통해 dimension을 줄여보는 것을 해 보겠다.
일단 clustering(군집화)이 뭘까? Clustering은 유사성이나 같은 패턴을 가지는 객체들을 그룹으로 묶는 것이라고 생각하면 된다. 앞에서 배운 classification이나 그런 분류와 뭐가 다르냐는 생각일 들 것이다. 크게 차이나는 부분은 clustering은 uns...
이번 장에서는 Nearest neighbor, kernel regression, 그리고 이를 이용하는 classification에 대해 다룰 것이다. 지금까지 우리는 선형적이고 항수가 하나로 나타나는 그러한 것들만 봤다.
지금까지 우리는 classifier에 대하여 배우면서 어떤 얼마나 좋은지 나쁜지 이런거에 대해 분류를 했었다. 그런데 과연 이 classifier가 정확한지 안한지는 어떻게 알 수 있을까? 정확하기만 한 classifier는 항상 믿을 수 있는 것일까? 이러한 이유로 다양한 eva...
우리가 앞에서 구한 classifier들은 꽤나 좋은 성능을 보여줬다. Variance가 낮고 빠르게 learning을 하는 장점이 있었다. 하지만 bias가 높게나온다는 단점이 있다. 왜냐하면 우리가 true error를 줄이기 위해 weak(simple) classifier를 ...
Decision tree도 classification에 속하는 supervised learning이다. 하지만 조금 다른 특성이 있다. 이걸 이해하기 위해서는 우선 parametric과 nonparametric model의 차이를 알아야 한다.
◼︎ Stochastic gradient descent: Learning, one data point at a time
이렇게 모델을 만들고나면 우리가 하는게 있다. overfitting 되었는가와 그것을 regularization으로 해결하는 것이다. 그걸 또 logistic regression에서 해보려고 한다.
이제 좀 다른 이야기를 해 볼것이다. 방금 전까지 우리는 연속적인(continuous)한 output에 대해 다뤘는데 이제는 불연속(discrete)한 output인 경우에 대해 알아볼 것이다. Classifier라는 것을 다룰 것인데 이것은 logistic regression...
◼︎ Geometric intuition for ridge regression
저번 lecture에서는 ridge regression을 다루었으니 이번 lecture에서는 다른 regularization인 LASSO regression에 대해 다룰 것이다.
앞의 lecture에서 complexity가 많아지면 overfitting될 수 있다고 하였다. 특히 overfitting에 영향을 크게 주는 parameter는 $\hat{w}$이다. $\hat{w}$가 너무 크면 필연적으로 overfitting해져버린다. 이러한 overf...
◼︎ Assessing performance
◼︎ Linear regression
◼︎ Estimators
◼︎ Meta Meta의 뜻? -> 무엇에 관한 무엇 Meta-learning: 학습에 관한 학습 Meta-data: 데이터에 대한 데이터 Meta-recognition: 무엇을 알고 있는지 인지
앞에서 락에 대해 간단히 다뤘는데 이번 장에서는 조금 더 자세히 다뤄볼 것이다. 락은 동시성 프로그래밍을 할때 쓰레드에서 발생하는 공유자원에 여러 스레드가 동시에 접근 하는 문제를 해결하는 방법이다. Concurrency에서 명령을 atomically하게 수행하고 싶지만 프로세...
Thread API의 주요 부분들을 간략하게 다뤄볼 것이다. 운영체제가 쓰레드를 생성하고 제어하는데 어떤 인터페이스를 제공해야할까?
앞에서는 virtualization과 같은 것을 배웠다. 이번 장에서는 프로세스를 위한 새로운 개념인 thread에 대해 배울 것이다. 프로그램이 한 순간에 하나의 명령어만 실행하는 고전적인 관점에서 벗어나 멀티 쓰레드 프로그램은 하나 이상의 명령을 실행하게 한다. 쓰레드는 주...
저장장치로 유명한 SSD에 대해 다뤄볼 것이다. 지금 기준으로 제일 빠르다는게 하이닉스 p51이라던데…. 일단 SSD는 전원이 꺼지더라도 데이터를 유지하기 때문에 HDD대신 쓰인다. 이는 Flash(NAND 기반 Flash)에서 시작되는데 어떤 데이터를 쓸 때 해당 데이터가...
vsfs(Very Simple File System)에 대해 배울 것이다. 파일 시스템은 순수한 소프트웨어로 CPU 가상화나 메모리 가상화랑은 다른다. 그때는 kernel mode가 필요했지만 vsfs는 그렇지 않다. 우선 파일 시스템은 두가지 측면이 있다. Data st...
영속성을 설명하기에 앞서 입력/출력 장치의 개념을 소개할 것이다. I/O device는 컴퓨터 시스템을 유용하기 쓰기 위해서는 필요하다. 그러면 시스템에과 I/O를 어떻게 합쳐야 할까?
앞에서 말했듯 paging은 상당한 성능 저하를 가져올 수도 있다. 모든 load/store 명령어 실행이 계속 반복해서 일어나는 것이다. 그래서 이 주소 변환 속도를 향상시키기 위한 방법을 도입하게 된다. 이는 Translatiion-Lookaside Buffer(TLB)라고...
앞에서 보았듯 공간을 다양한 크기의 청크로 분할하면 공간이 fragmented되게 된다. 그래서 동일 크기의 조각으로 분할하는 방법을 생각해볼 수 있다. 이를 paging이라고 한다. 고정 크기의 단위를 page라고 하고 이에 대응되는 물리 메모리를 page frame이라고 한...
지금 우리가 배운건 베이스와 바운드 레지스터를 이용해 주소 공간 전체를 메모리에 탑재한다. 이 방식은 스택과 힙 사이의 공간이 사용되지 않더라도 물리 메모리를 차지하고 있다. 그렇기 때문에 메모리 낭비 (wasteful) 가 심하다. 그리고 주소 공간이 물리 메모리보다 클 때 ...
CPU를 가상화 할 때 우리는 LDE(Limited Direct Execution)을 사용한다는 것을 알았다. 그런데 메모리 또한 비슷한 방식을 이용한다. 우리가 다룰 기법은 하드웨어-기반 주소 변환(hardware-based address translation) 혹은 주소 변...
가상 메모리를 이해하기 위해서는 사용자 프로그램이 생성하는 모든 주소는 가상주소라는 것부터 시작해야한다. 프로세스가 자신만의 커다란 전용 메모리를 가진다는 환상을 제공하는 것이다. 운영체제는 각 프로세스에게 코드와 데이터를 저장할 수 있는 대용량의 연속된 주소 공간(addres...
◼︎ MLFQ
◼︎ 워크로드에 대한 가정
◼︎ Limited Direct Execution (제한적 직접 실행 원리)
◼︎ Process
◼︎ 들어가기 전에 운영체제에 대해 공부할 때 크게 3가지의 중요한 내용을 나눠서 공부하게 된다. 그 3개는 다음과 같다.
이제 우리는 전체적인 CPU의 구조에 대해 이해할 수 있게 됐다. 그런데 우리가 자세히 다루지 않고 계속 사용하던 것이 있다. 바로 memory이다. gate나 mux등을 통해 많은 것을 만들 수 있지만 저장공간에 대한것은 아무 설명 없이 그냥 사용했다. 이번 장에는 이 memor...
앞에서는 성능과 명령어에 대하여 알아보았다. 이번 장에서는 하드웨어가 어떤식으로 구조가 돼있는지에 대해 배울 예정이다.
이번장에서는 컴퓨터가 계산하는 방식에 대해 볼것이다. Addition, subtraction, multiplication, overflow에 대해 다뤄볼 것이다. Division이나 floating point같은 것도 있긴 하지만 교수님은 이부분을 크게 다루시지 않아서 넘기겠다.
하드웨어가 알아들을수 있는 컴퓨터 언어를 명령어(instruction)이라고 한다. 이번 장에서는 RISC-V의 명령어에 대하여 알아볼 것이다.
우선 컴퓨터 구조를 시작하기 전에 비트수의 단위에 대한 표를 하나만 보겠다.
열심히 블로그 쓴다고 한지 거의 4달만에 글을 다시 씁니다. 이거 굉장히 귀찮긴 하네요;;; 벌써 2025년이 돼서 개강도 했는데 이제야 24년 사진들을을 올려볼까 합니다. 24년은 제 인생에서 제일 행복한 해였던것 같습니다. 입시에서 벗어났다는 해방감도 있고 작년에 정말 많은...
블로그 일상글 써야지 써야지 하다가 이제 쓰게되네요…. 사실 이 블로그를 만든건 합격하고 2월부터 만들기 시작하긴 했는데 깃헙블로그 사용법이 처음에 익히기도 어렵고 귀찮아서 안하다가 ㅎㅎ. 그래도 2학기 중간부터 공부용으로 쓰겠다고 뭔가 많이 꾸미고 공부한거 업로드 하고 이것저...
Name: SeokChan Jeong +82 10-9027-0282 coolstone@yonsei.ac.kr
https://nbviewer.jupyter.org/github/coolstone2000/coolstone2000.github.io/blob/2edbb9f3fc55fbfd2bba247b27114aaab578b5ad/files/2022142255%EC%A0%95%EC%84%9D%EC...