본문 바로가기

Tech Development35

Computational Graphs & Backward Propagation Date : 2022.10.09 *The contents of this book is heavily based on Stanford University’s CS231n course. [Improving Efficiency] So far, we've used multivariable calculus techniques such as differentiation and gradients to derive the “slope of the loss function for weights.” Implementing a new method called “Backward Propagation of Errors (backpropagation)” will increase efficiency in the SGD proces.. 2022. 10. 24.
SGD, Epochs, and Accuracy Testing Date : 2022.09.28 *The contents of this book is heavily based on Stanford University’s CS231n course. [Implementing SGD] The overall procedure is as the following: Create a batch of randomly selected data for training. Use the loss function to find optimal inputs for weights. Repeat the above to minimize prediction error. In step 2, we will be applying the gradient descent method to a random bat.. 2022. 10. 22.
Loss Function and Stochastic Gradient Descent Date : 2022.09.23 *The contents of this book is heavily based on Stanford University’s CS231n course. [Data Modeling] The data modeling process can be separated into 2 major steps: Learning and Testing. In the learning process our goal is to establish a neural network with high precision. We can control a few variables that will affect the model. The first control variable is the Weight Variable.. 2022. 10. 20.
Activation Functions (Sigmoid, ReLU, Step) & Neural Networks Date : 2022.05.20 *The contents of this book is heavily based on Stanford University’s CS231n course. [퍼셉트론의 상위 개념 : 신경망. Neural Networks.] 신경망은 가중치 매개변수를 데이터로부터 학습할 수 있는 능력이 있다 특징을 가지고 있다. 신경망은 입력층, 은닉층, 출력층으로 구성되어 있다. 은닉층은 다충 퍼셉트론의 숨겨진 여러 개의 층이라고 생각하면 된다. 신경망에서는 활성화 함수가 있다. 퍼셉트론에서도 0과 1 중에서 무엇을 출력할지 정할 때 활성화 함수의 개념을 사용했었다. 활성화 함수는 뉴런 내부에 존재한다. 뉴런 안으로 들어가보자. 퍼셉트론의 대표적인 활성화 함수는 계단 함수이다. 0 혹은 1. .. 2022. 10. 14.
Perceptrons, Equations, and Gates Date : 2022.04.24 *The contents of this book is heavily based on Stanford University’s CS231n course. [퍼셉트론 Perceptron] 퍼셉트론은 딥러닝 신경망의 기원이 되는 개념이다. 퍼셉트론 : 인공뉴런. 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 여기서의 신호는 전류와 같이 흐름이 있는 것이다. 퍼셉트론 신호는 2 가지의 상태를 띌 수 있다. 0과 1, 혹은 안흐른다/흐른다로 구분된다. 퍼셉트론의 환경에는 대개 입력 신호 x1, x2, x3, … , xn, 그리고 출력 신호 y1, y2, y3, … , yn, 그리고 가중치 w1, w2, w3, … , wn의 변수들이 있다. 각각의 신호 (입력/출력)는 뉴런 혹.. 2022. 10. 8.
Getting Familiar with Numpy & Matplotlib Date : 2022.04.16 *The contents of this book is heavily based on Stanford University’s CS231n course. [Intro] 이번 학습일지 시리즈는 사이토 고키의 “Deep Learning from Scratch” 책을 기반으로 한다. Numpy, scipy, pandas, 등의 문법을 공부하고 있었지만 새로운 문법과 라이브러리 사용법만 공부하는 것에 있어 지루함을 느꼈다. 나한테 너무 어려울거라고 생각했지만 적절한 난이도에 쉽게 풀어쓴 책이라 공부하는 과정이 정말 재밌었다. 책의 구성은 기본적인 파이썬 문법, numpy와 pyplot의 사용법부터 시작해서, 퍼셉트론, 신경만, 손실함수, 오차역전파법, 매개변수 갱신 등을 커버한다. .. 2022. 10. 8.
Python Backend - Study Notes 9 날짜: 2022.06.09 [인증, Authentication] 인증은 사용자의 신원을 확인하는 절차이다. 웹사이트에서 사용자가 로그인을 해서 아이디와 비번을 확인하는 절차가 대표적이다. 로그인과 인증 기능을 구현해주는 엔드포인트로 다음과 같이 처리된다. 사용자가 아이디와 비밀번호를 생성한다. (sign_up 엔드포인트) 아이디와 비밀번호를 데이터베이스에 저장한다. 보안을 위해 비밀번호는 암호화되어 저장된다. 사용자가 로그인 절차에서 아이디와 비밀번호를 입력한다. 비밀번호는 위와 동일하게 암호화된다. 데이터베이스에 저장되어 있는 비밀번호와 비교한다. 일치하면 로그인 절차가 통과된다. API 서버가 사용자한테 access token을 전송한다. 앞으로 서버의 기능 사용할 때 access token으로 사용.. 2022. 10. 2.
Python Backend - Completion, not Perfection 날짜: 2022.09.05 [완벽한 설명에 대한 집착] 학습일지의 의도는 누군가가 내 블로그에 방문해서 학습일지를 읽었을 때 바로 이해하고 코드를 구현할 수 있도록 도와주기 위함이다. 그래서 내가 먼저 책을 읽고 공부하면서 헷갈렸던 부분들에 대한 추가적인 설명을 직접 보충해서 채우는 것이 처음 설정한 방향이었다. 이렇게 해야만 미래의 내가 혹은 블로그 방문자가 쉽고 빠르게 이해할 수 있을 것이라고 생각했다. 이런 욕심과 목표 때문에 너무 작은 디테일에 집착한 것이 오히려 블로그 성장에 걸림돌이 되었다. 군대에서 공부를 하고, 공부한 내용을 블로그에 올리는 것은 총 4 단계 프로세스이다. 책을 공부한다. 공부한 내용을 복습하면서 노트에 학습일지를 작성한다. 노트에 작성된 학습일지를 google docs로 .. 2022. 9. 7.
Python Backend - Study Notes 8 날짜: 2022.05.13 [데이터베이스 연동시키기] 데이터베이스를 연동시킨 전체 코드로 한번에 넘어가고 싶지만 먼저 엔드포인트별로 쪼개서 접근해야지 전체 코드가 더 잘 이해되기 때문에 엔드포인트 단위별로 접근해보겠다. [회원가입 엔드포인트] 먼저 회원가입 엔드포인트부터 다시 구현 해보자. 위의 코드는 크게 3가지 부분으로 나눌 수 있다. 첫 번째는 HTTP Request로 받은 데이터를 python dictionary로 전환 및 DB에 저장이다. “new_user”에 데이터가 python dictionary 형태로 저장되어 있기 때문에 parameter로 넘겨주는 것이다. MySQL 문법을 통해서 request.json 정보가 어떻게 DB에 저장되는지 알아보자. 라인 ⑯에서 “lastrowid” 구문이.. 2022. 9. 4.
Python Backend - Study Notes 7 날짜: 2022.04.13 [6장: 데이터 베이스] 우리가 만든 미니터 API는 재실행될 때마다 모든 데이터가 없어진다. 데이터를 메모리상에 저장해서 터미널에서 API를 실행할 동안에만 데이터가 남아있기 때문에 사실상 데이터베이스라고 불릴만한 것이 없다. 그렇기 때문에 데이터를 영구적으로 보존하고 미니터 API와 DB (Data Base)를 연결하는 작업을 해 볼 것이다. [Database System] DB: 데이터를 저장 및 보존하는 시스템이다. 데이터베이스에 대해서 하나씩 알아보자. 먼저 데이터베이스는 크게 2가지 종류가 있다. 관계형 데이터베이스 시스템 (RDBMS, Relational Database Management System)과 NoSQL로 불리는 비관계형 (Non-relational) .. 2022. 9. 3.
Python Backend - Study Notes 6 날짜: 2022.03.10 [타임라인 (Timeline) 관리하기] 타임라인의 경우 이미 사용자가 올린 데이터를 수정 없이 받아오면 되는 것이기 때문에 HTTP GET 메서드를 사용할 것이다. 밑에는 클라이언트가 받을 JSON 데이터 예시이다. 트윗 엔드포인트에서 사용자가 올린 트윗들을 모두 “app.tweets” list에 dictionary 형태로 저장했었다 (key: 사용자 아이디, value: 트윗 내용). 타임라인 엔드포인트를 구현하기 위해서는 app.tweets 리스트에 접속한 사용자, 사용자의 트윗들, 팔로우 명단의 사람들, 그리고 트윗들을 찾아서 HTTP Request로 클라이언트에 넘겨주면 된다. 엔드포인트 로직을 파이썬으로 구현하면 다음과 같다. ① 엔드포인트의 고유주소 (URL)에 “.. 2022. 9. 1.
Python Backend - Study Notes 5 날짜: 2022.03.09 [5장: 본격적으로 API 개발하기] 여기서부터 구현하는 세부적인 API 기능들은 다음 포스트에서 “데이터 베이스”를 공부할 때 사용할 예정이므로 정확하게 이해하고 넘어가야한다. 이번 장에서는 미니터(= mini twitter)를 구현하면서 API 개발의 핵심구조와 개념들을 살펴본다. [미니터 기능들] 이 책에서는 동시 접속이나 HTTP 요청 처리 속도를 다루지 않는다. (나중에 AWS 배포를 통해서 간접적으로 설명한다) Twitter의 핵심 기능들만 간단하게 구현한 것이기 때문에 완벽한 Twitter를 바라지는 말자. 밑의 기능들만 API 시스템에 구현시킬 것이다. 회원가입 로그인 트윗 (tweet) 다른 회원 팔로우하기 다른 회원 언팔로우하기 타임라인 (트윗 기록들 불러오기.. 2022. 9. 1.
Problem Solving with Algorithms & Data Structures part 4/4 Problem Solving with Algorithms and Data Structures 3.0 by Brad Miller, David Ranum (A Summary of ADT’s, Trees, and Binary Search) Date 2022.08.03 Binary Search Trees Now we will be using the binary tree structure for efficient searching. A binary search tree relies on the property that keys that are less than the parent are found in the left subtree, and keys that are greater than the parent ar.. 2022. 8. 26.
Problem Solving with Algorithms & Data Structures part 3/4 Problem Solving with Algorithms and Data Structures 3.0 by Brad Miller, David Ranum (A Summary of ADT’s, Trees, and Binary Search) Date 2022.08.01 Binary Tree Applications We will look at parse trees as an example. We can represent a mathematical expression such as ((7 + 3) * ( 5- 2)) as a parse tree. Using the Hierarchical structure of trees, we can simply replace an entire subtree with one nod.. 2022. 8. 24.
Problem Solving with Algorithms & Data Structures part 2/4 Problem Solving with Algorithms and Data Structures 3.0 by Brad Miller, David Ranum (A Summary of ADT’s, Trees, and Binary Search) Date 2022.07.31 Trees A tree data structure has a root, branches, and leaves. A tree data structure has its root at the top and its leaves on the bottom. Vocabulary of Tree Structure Node : A node is a fundamental part of a tree. It can have a name, which we call the.. 2022. 8. 24.
728x90
반응형