학습 노트

대학 전공 과목을 공부하며 만든 강의 영상의 대본을 글로 옮겼습니다. 처음 보는 사람도 따라올 수 있게 개념 하나씩 풀어 씁니다.

머신러닝

1. 인공지능이란 무엇인가 — 정의, 논쟁, 두 번의 겨울인공지능은 인간 지능을 기준으로 삼는 도구다. 강한·약한 인공지능, 응용·범용 인공지능, 계산주의와 연결주의, 튜링 테스트와 커피 테스트, 두 번의 겨울과 실제 위험 다섯 가지를 정리한다. 2. 머신러닝의 뼈대 — 목적함수, 선형대수, 미적분머신러닝은 규칙을 데이터에서 찾아내는 일이다. 학습의 정의와 목적함수, 학습의 종류, 벡터·거리·내적·기저·고유값 분해, 도함수·테일러 급수·편미분·라그랑주 승수법까지 첫 두 주 분량을 훑는다. 3. 거리·행렬·벡터 미분 — 고유값 분해로 줄어드는 계산p 노름·맨해튼·그래프·편집 거리, 그람-슈미트 직교화, 행렬식·트레이스·랭크·양정부호, 고유값 분해로 쉬워지는 행렬 계산, 벡터 미분과 볼록함수·젠센 부등식까지 앞 편에서 건너뛴 수학을 채운다. 4. 확률과 통계 — 베이즈 정리와 가우시안 분포심프슨의 역설에서 출발해 확률변수와 분포, 기댓값·분산·공분산, 합 규칙과 곱 규칙, 베이즈 정리와 유방암 검사 예제, 가우시안 분포와 화이트닝, 혼합 가우시안과 정상성까지 확률의 기본기를 쌓는다. 5. 과제 1번 풀이 — MNIST로 보는 평균·분산·고유값 분해손글씨 5만 장을 표 하나로 놓고 픽셀별 평균·분산, 공분산 행렬, 고유값 분해를 구하는 과제 풀이. numpy의 축·인덱싱·슬라이싱과, 에러 없이 조용히 틀리는 두 자리를 짚는다. 6. 과제 2번 확률 연습문제 — 기댓값의 선형성 하나로 푸는 여섯 문제분산의 두 표현, 독립과 공분산, 가우시안의 최빈값, 독립인 합의 평균과 분산, 최대우도 추정, 불편 추정까지 여섯 문제를 데이터 2·4·6 하나로 따라가며 채점에서 깎이는 근거 줄을 짚는다.

딥러닝

1. 퍼셉트론에서 역전파까지 — 손실, 경사하강법, 활성화 함수알바 시급 예시 하나로 퍼셉트론과 가중치, MSE·MAE·Huber·교차 엔트로피 손실, 경사하강법과 학습률, XOR과 다층 퍼셉트론, 역전파 계산, 기울기 소실과 ReLU, 학습 요령까지 따라간다.

컴퓨터구조

1. MIPS 명령어 형식과 데이터 전송 — R-type, I-type, lw·swMIPS 명령어 32비트를 어디서 자르는지 본다. 레지스터와 R-type·I-type 형식, 산술·논리 명령어, 메모리와 lw·sw를 문제 네 개로 직접 풀어 본다. 2. MIPS 제어 명령어와 J-type — 분기, 점프, if와 whilePC를 바꾸는 제어 명령어를 본다. beq·bne·slt로 만드는 조건 분기, j·jr·jal과 J-type, 26비트로 32비트 주소를 만드는 법과 분기 범위, if·while을 어셈블리로 옮기는 문제를 푼다. 3. 정수 덧셈의 오버플로와 곱셈 하드웨어 — 2의 보수에서 세 가지 곱셈 설계까지2진 덧셈과 2의 보수, 오버플로가 나는 조건과 XOR 하나로 만드는 검출 회로, MIPS의 add와 addu를 본다. 곱셈 회로를 세 단계로 줄여 가며 mult 결과가 Hi와 Lo에 나뉘는 이유를 확인한다. 4. 나눗셈 하드웨어와 부동소수점 — 복원 나눗셈, IEEE 754, 반올림빼고 복원하는 나눗셈 회로를 곱셈 회로와 합치고, IEEE 754 단정밀도·배정밀도의 부호·지수·fraction, 정규수 범위와 특수값, G·R·S 비트로 하는 반올림, 부동소수점 덧셈과 곱셈을 문제로 푼다.

운영체제

1. 운영체제란 무엇인가 — 로딩, 인터럽트, 직접 메모리 접근프로그램이 메모리에 올라가는 과정에서 출발해 운영체제의 정의, 자원의 가상화, 인터럽트와 트랩, 인터럽트 구동 입출력과 DMA, 저장 계층과 캐싱까지 정리한다. 2. 시스템 콜과 이중 모드 — 여러 프로그램을 안전하게 돌리는 법운영체제 서비스와 부팅, 커널 구조에서 출발해 멀티프로그래밍과 멀티태스킹, 특권 명령과 모드 비트, 시스템 콜의 동작과 여섯 갈래, 표준 라이브러리와의 관계까지 정리한다. 3. 프로세스 — 상태, PCB, 문맥 교환, fork와 exec프로그램·프로세서·프로세스의 차이에서 출발해 주소 공간의 네 구역, 다섯 상태, PCB와 두 가지 큐, 문맥 교환, fork·exec·exit·wait로 이어지는 프로세스의 생애를 정리한다. 4. 시그널과 프로세스 사이 통신 — 알림, 공유 메모리, 파이프번호 하나짜리 알림인 시그널의 전달 경로와 처리기, 쌓이지 않는 대기 비트의 성질, 그리고 데이터를 주고받는 공유 메모리와 보통 파이프·이름 있는 파이프를 비교해 정리한다. 5. 스레드 — 한 프로세스 안의 여러 실행 흐름스레드는 한 프로세스 안의 실행 흐름 하나다. 무엇을 함께 쓰고 무엇을 따로 갖는지, 동시성과 병렬성, 암달의 법칙, 사용자·커널 스레드와 잇는 방식, pthread와 스레드 풀을 정리한다. 6. CPU 스케줄링 — 누구에게 먼저, 얼마 동안 프로세서를 주나준비 큐에서 다음 프로세스를 고르는 방법을 숫자로 비교한다. 선점과 비선점, 평가 기준, 선착순·최단 작업 우선·최단 잔여 시간·라운드 로빈·우선순위·다단계 큐, 실시간 스케줄링, 리눅스 완전 공정 스케줄러. 7. 동기화 도구 — 경쟁 상태, 락, 조건 변수한 줄짜리 더하기가 왜 어긋나는지 숫자로 확인하고, 경쟁 상태와 임계 구역, 락과 좋은 락의 조건, 테스트 앤 셋·스핀 락·티켓 락, 잠재우는 락과 조건 변수, 유한 버퍼 문제까지 정리한다. 8. 세마포어와 고전 동기화 문제 — 유한 버퍼, 읽기와 쓰기, 식사하는 철학자세마포어는 정수 하나와 원자적 동작 둘이다. 처음 값에 따라 락, 순서 신호, 자원 계수기가 되는 원리와 유한 버퍼·읽기와 쓰기·식사하는 철학자 문제, 락 위치가 부르는 교착 상태를 정리한다. 9. 교착 상태 — 네 조건, 예방·회피·탐지와 은행원 알고리즘교착 상태가 생기는 네 조건, 자원 할당 그래프, 조건을 깨는 예방, 안전 상태와 은행원 알고리즘으로 하는 회피, 대기 그래프로 찾고 끊는 탐지와 복구를 예제 두 개로 정리한다. 10. 메인 메모리와 페이징 — 주소 변환, 단편화, TLB논리 주소와 물리 주소, 기준·한계 레지스터, 연속 할당과 외부 단편화, 페이징의 주소 변환, TLB와 유효 접근 시간, 큰 페이지 테이블을 다루는 법과 스와핑을 예제 두 개로 정리한다. 11. 가상 메모리 — 요구 페이징, 페이지 교체, 스래싱요구 페이징과 페이지 부재 처리, 부재율로 셈하는 유효 접근 시간, 쓰기 시 복사, FIFO·최적·LRU 교체와 벨레이디 이상, 프레임 할당과 스래싱, 작업 집합을 예제 두 개로 정리한다. 12. 파일 시스템 — inode, 디렉터리, 디스크 배치와 캐시파일과 inode, 속성과 연산, 열린 파일 표, 디렉터리와 하드·심볼릭 링크, 슈퍼블록·비트맵·inode 표로 짜는 디스크 배치, 직접·간접 포인터, 파일 읽기의 디스크 접근과 페이지 캐시를 정리한다.
dev-news학습 노트소개개인정보 처리