전체 글 40

[성적] 막학기 3과목 A+

막학기 성적이 나왔다.3과목밖에 듣진 않았지만 다 A+이다! (교직 A+이 감격스럽다. 내 인생에 흔치 않았던 점수..)막학기에 유종의 미를 거둔 것 같아서 좋다.다른 과목 재수강도 할 걸 하는 아쉬움이 있지만.. 그렇다고 학교를 1년을 더 다닐수는 없기에 놓아주려고 한다. 벌써 12월이 끝나가고 있다.1월부터 다시 본격적으로 공부를 해볼 예정이다.화이팅.

[자료구조] 비선형 자료구조(힙, 우선순위 큐, 맵, 셋, 해시테이블)

비선형 자료구조(힙, 우선순위 큐, 맵, 셋, 해시테이블)책 『면접을 위한 CS 전공지식 노트』를 바탕으로 스터디를 진행하면서 공부한 내용을 정리했다. ~ 목차 ~1. 힙2. 우선순위 큐3. 맵4. 셋5. 해시테이블 비선형 자료 구조란 요소가 일렬로 나열되어 있지 않고 순서나 관계가 복잡한 자료구조를 말한다.종류로는 트리, 그래프, 힙, 우선순위 큐, 맵, 셋, 해시테이블이 있다. (아래에서는 힙부터 설명한다.) 1. 힙  - 힙은 완전 이진 트리 기반의 자료구조로, 각 노드의 값이 특정 규칙에 따라 정렬된 구조이다.    - 최소힙(Min-Heap): 루트 노드에 가장 작은 값이 위치한다.    - 최대힙(Max-Heap): 루트 노드에 가장 큰 값이 위치한다.   - 힙의 삽입과 삭제는 아래와 같이 ..

CS 2024.12.17

[주저리] 11월 결산과 12월 계획

11월 결산과 12월 계획11월 마지막 날을 맞아 11월 결산을 하고, 12월 계획을 적어보려고 한다.  ~ 목차 ~1. 11월   1.1 1일 1포스팅   1.2 부트캠프 수료   1.3 운동2. 12월   2.1 CV 정리, 대학원 컨택 시도   2.2 1주 2포스팅   2.3 기말/졸업시험 준비   2.4 운동1. 11월11월을 어떻게 보냈느냐 하면.. 한 마디로 기본기 쌓기의 달이라고 할 수 있겠다.   1.1 1일 1포스팅  월초에 '하루에 하나의 주제만이라도 확실히 이해하자'는 마음가짐으로 1일 1포스팅이라는 목표를 세웠다.  결론은 성공했다.  중간에 크고 작은 이슈들이 있었지만 중꺽마의 마음가짐으로 어떻게 저떻게 30포스팅을 했다.  주로 10월에 보던 논문들을 정리했고, 비전 딥러닝 강의..

[토이프로젝트] 쌓기나무 프로그램 구현 (중간보고)

쌓기나무 프로그램 구현 (중간보고)소프트웨어와 초등교육 수업의 과제인 교과교육 적용을 위한 소프트웨어 개발의 일환으로 쌓기나무 프로그램을 구현하고 있다.저번 계획수립에 이어서 중간 진행 상황을 기록해보고자 한다. ~ 목차 ~1. 계획수립 2024.11.24 - [프로젝트/토이프로젝트] - [토이프로젝트] 쌓기나무 프로그램 구현 (계획수립)2. 중간보고3. 최종결과물  전체적인 알고리즘3D 좌표평면 구축 (-4에서 4까지 1단위로 마우스 클릭 가능하도록 설정)블럭 설정(1x1x1크기의 블럭, 모서리가 까맣게 되도록 설정)마우스로 점 (x,y,z)를 클릭하면 (x-1,y-1,z-1)을 꼭짓점으로 하는 정육면체가 그려지도록 설정함  구현 포인트떠다니는 나무조각 바로잡기  - 아래층에 쌓기나무가 없으면 쌓아지지..

[CS231n] Lecture10: Recurrent Neural Networks (수식o)

Lecture10: Recurrent Neural Networks- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~1. 개념2. Computational Graph    2.1 Many to Many    2.2 Many to One    2.3 One to Many    2.4 Sequence to Sequence: Many-to-one + One-to-many3. 문제점 & 해결방안    3.1 Gradient Exploding → Gradient Clipping    3.2 Gradient Vanishing → LSTM    3.3 BPTT → Truncated BPTT4. Inter..

CS231n 2024.11.27

[데이터베이스] 인덱스

인덱스책 『면접을 위한 CS 전공지식 노트』를 바탕으로 스터디를 진행하면서 공부한 내용을 정리했다. ~ 목차 ~1. 인덱스의 필요성2. 인덱스의 효율성    2.1 트리 구조    2.2 대수확장성3. 인덱스 만드는 방법    3.1 MySQL    3.2 MongoDB4. 인덱스 최적화 기법  1. 인덱스의 필요성- 인덱스(index)는 데이터베이스에서 테이블의 데이터를 빠르게 검색하기 위해 사용하는 데이터 구조이다.- 아래 그림과 같은 책의 '찾아보기'섹션에 비유할 수 있다.  '찾아보기'를 통해 내가 찾고자 하는 항목이 본문의 어느 위치에 있는지 빠르게 확인할 수 있다.  2. 인덱스의 효율성- 인덱스가 효율적인 이유는 크게 균형 잡힌 트리 구조와 트리 깊이의 대수확장성 때문이다.    2.1 트리..

CS 2024.11.26

[CS231n] Lecture9: CNN Architectures

Lecture9: CNN Architectures- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~1. 주요 모델들  1.1 AlexNet  1.2 VGG  1.3 GoogLeNet  1.4 ResNet  1.5 모델 비교2. 그 외 모델들  2.1 NiN (Network in Network)  2.2 Improved model of ResNet  2.3 Wide ResNet  2.4 ResNeXT  2.5 Stochastic Depth  2.6 FractalNet  2.7 DenseNet  2.8 SqueezeNet  1. 주요 모델들- 주요 모델인 AlexNet, VGGNet, Goog..

CS231n 2024.11.25

[토이프로젝트] 쌓기나무 프로그램 구현 (계획수립)

쌓기나무 프로그램 구현 (계획수립) ~ 목차 ~1. 계획수립2. 중간보고3. 최종결과물 저는 사실.. 초등교육을 전공하고 있는 막학기 학부생입니다.지금 소프트웨어와 초등교육이라는 전공 강의를 듣고 있는데 과제로 교과교육 적용을 위한 소프트웨어 개발이라는 과제가 나왔지 뭡니까.이론 공부만 하다가 오랜만에 코드를 만질 기회가 오니 살짝 설렜습니다. 과제는 초등학교 교육과정 내의 소재를 하나 골라서 관련된 소프트웨어를 개발하는 것입니다. 무엇을 개발할지 고민하다가.. 저는 쌓기나무 프로그램을 구현해보기로 했습니다. 쌓기나무는 6학년 2학기 수학에서 나오구요.. 해당 성취기준은 다음과 같습니다. [6수02-10] 쌓기나무로 만든 입체도형을 보고 사용된 쌓기나무의 개수를 구할 수 있다.[6수02-11] 쌓기나무로..

[CS231n] Lecture8: Deep Learning Software

Lecture8: Deep Learning Software- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~1. CPU vs. GPU    1.1 CPU and GPU    1.2 In Practice2. Deep Learning Framework    2.1 중요성    2.2 PyTorch        2.2.1 Tensor        2.2.2 Module    2.3 Torch vs PyTorch    2.4 Static Graph vs Dynamic Graph  1. CPU vs. GPU   1.1 CPU and GPU  - CPU는 컴퓨터의 핵심 연산 장치이다. 다양한 작업을 ..

CS231n 2024.11.23

[CS231n] Lecture7: Training Neural Networks II

Lecture7: Training Neural Networks II- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~1. Optimization    1.1 First-Order Optimization        1.1.1 Problems with SGD        1.1.2 SGD + Momentum        1.1.3 Nesterov Momentum        1.1.4 AdaGrad        1.1.5 RMSProp        1.1.6 Adam        1.1.7 UsingLearning Rate Decay    1.2 Second-Order Optimization..

CS231n 2024.11.22

[CS231n] Lecture6: Training Neural Networks I

Lecture6: Training Neural Networks I- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.- 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~1. Activation Functions    1.1 Sigmoid    1.2 Tanh    1.3 ReLU    1.4 Leaky ReLU    1.5 ELU    1.6 Maxout    1.7 정리2. Data Preprocessing3. Weight Initialization    3.1 랜덤 초기화    3.2 특정 수로 초기화    3.3 Xavier 초기화    3.4 He 초기화4. Batch Normalization5. Babysitting the Learning Process   ..

CS231n 2024.11.21

[CS231n] Lecture5: Convolutional Neural Networks

Lecture5: Introduction to Neural Networks- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~1. ConvNet이란?2. ConvNet 역사3. ConvNet 구조    3.1 Convolution Layer        3.1.1 원리        3.1.2 Stride        3.1.3 Zero Padding        3.1.4 1x1 conv layer        3.1.5 Torch 구현    3.2 Pooling Layer    3.3 Fully Connected Layer4. ConvNet 활용 1. ConvNet이란?- ConvNet는 ..

CS231n 2024.11.20

[CS231n] Lecture4: Introduction to Neural Networks

Lecture4: Introduction to Neural Networks- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림, 표, 예시는 [2]에서 가져왔다.  ~ 목차 ~0. 지난 시간 복습1. Computational Graph2. Back Propagation    2.1 개념    2.2 예시    2.3 패턴    2.4 Vectorized 연산    2.5 코드 구현3. Neural Networks    3.1 개념    3.2 구조    3.3 수식    3.4 실제 뉴런과의 비교  0. 지난 시간 복습- 지난 시간에 손실함수를 최소로 하는 W값을 구하기 위해 기울기를 통해 optimization을 하는 방법을 소개했다. -..

CS231n 2024.11.19

[CS231n] Lecture3: Loss Functions and Optimization

Lecture3: Loss Functions and Optimization- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림과 표는 [2]에서 가져왔다. ~ 목차 ~1. Loss Function    1.1 Data loss        1.1.1 Multiclass SVM Loss (Hinge Loss)        1.1.2 Cross-entropy Loss (Softmax)        1.1.3 SVM vs. Softmax    1.2 Regularization2. Optimization    2.1 Random Search    2.2 Follow the slope        2.2.1 Numerical gradient     ..

CS231n 2024.11.18

[CS231n] Lecture2: Image Classification

Lecture2: Image Classification- CS231n 강의 [1]를 듣고 공부한 내용을 나름대로 정리했다.CS231n 강의 [1] - 글에 있는 모든 그림과 표는 [2]에서 가져왔다.  ~ 목차 ~1. Image Classification의 어려움2. Classifier 종류    2.1 Nearest Neighbor        2.1.1 시각화        2.1.2 수식 표현           2.1.3 코드 구현          2.1.4 CIFAR-10에 적용        2.1.5 한계    2.2 Linear Classification        2.2.1 수식표현        2.2.2 시각화        2.2.3 한계3. Hyperparameters    3.1 Tra..

CS231n 2024.11.17

[운영체제] CPU 스케줄링 알고리즘

CPU 스케줄링 알고리즘책 『면접을 위한 CS 전공지식 노트』를 바탕으로 스터디를 진행하면서 공부한 내용을 정리했다. ~ 목차 ~1. 스케줄링이란?2. 스케줄링 알고리즘의 종류  2.1 비선점형 방식    2.1.1 FCFS    2.1.2 SJF    2.1.3 우선순위  2.2 선점형 방식    2.2.1 라운드 로빈    2.2.2 SRF    2.2.3 다단계 큐 1. CPU 스케줄링이란?  - 스케줄링(scheduling)은 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것이다.                                                ↳여기서는 CPU를 의미함  - 목적: 자원을 효율적으로 이용하고, CPU를 공정하게 사용할 수 있도록 한다.  - 스케줄링 방..

CS 2024.11.16