estherseo
JINIWAY
estherseo
전체 방문자
오늘
어제
  • 분류 전체보기
    • 전공공부
    • CS
      • Network
      • Algorithm
      • 📖
      • python
      • django
    • Pentest
      • 📖
      • HTB
      • Machines
    • Web-hacking
      • 📖
      • Dreamhack
      • Portswigger
    • System-hacking
      • 📖
    • Mobile-hacking
    • Project
    • CVE
    • CTF
    • News & Conference
    • 자격증
    • 신기술
      • AI

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 블로그 소개

인기 글

최근 댓글

최근 글

태그

  • 네트워크관리사 실기 합격
  • 다크웹 모니터링 서비스
  • 화이트햇투게더
  • pox2022
  • 시스템해킹공부
  • 셸쇼크
  • asc
  • ASC스터디
  • jwt token last character
  • 기사요약
  • 2022 네트워크관리사
  • 패킷잡기
  • shocker
  • 중소기업 정보보호
  • integer overflow
  • 세계신안보포럼
  • HTB valentine
  • 화이트햇투게더1기
  • n00bCTF
  • python eval
  • 2022 pox
  • CVE-2022-22817
  • Pillow취약점
  • HTB shocker
  • ASC 스터디
  • 화이트햇투게더1기 결과공유회
  • CTF공부
  • 스택카나리
  • 다크웹 모니터링
  • 시스템해킹 스터디
hELLO · Designed By 정상우.
estherseo

JINIWAY

신기술/AI

[밑바닥딥러닝1] 2장 퍼셉트론 - AND,NAND,OR 게이트

2024. 6. 22. 00:01

Perceptron 이란?

 

다수의 신호를 입력으로 받아 하나의 신호를 출력한다.

 

AND 게이트

>>> def AND(x1, x2):
...     w1, w2, theta = 0.5, 0.5, 0.7
...     tmp = x1*w1 + x2*w2
...     if tmp <= theta:
...             return 0
...     elif tmp > theta:
...             return 1
...
>>> AND(0,0)
0
>>> AND(1,0)
0
>>> AND(0,1)
0
>>> AND(1,1)
1

 

 

+ 가중치(weight)와 편향(bias) 도입

가중치 (w1, w2)는 "각 입력 신호가 결과에 주는 영향력(중요도)을 조절하는 매개변수"

편향(bias)은 "뉴런이 얼마나 쉽게 활성화(결과 1) 하느냐를 조정하는 매개변수"

 

>>> import numpy as np
>>> x = np.array([0,1])
>>> w = np.array([0.5, 0.5])
>>> b = -0.7
>>> w*x
array([0. , 0.5])
>>> np.sum(w*x)
np.float64(0.5)
>>> np.sum(w*x) + b
np.float64(-0.19999999999999996)

 

def AND(x1, x2):
	x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.7
    tmp = np.sum(x*w)+b
    if tmp < 0:
    	return 0
    else:
    	return 1

 

 

NAND 게이트

AND게이트와 가중치만 다르다.

def NAND(x1, x2):
	x = np.array([x1, x2])
    w = np.array([-0.5, -0.5])
    b = 0.7
    tmp = np.sum(x*w)+b
    if tmp <= 0:
    	return 0
    else:
    	return 1

 

OR 게이트

AND게이트와 w, b가 다름.

def OR(x1, x2):
	x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.2
    tmp = np.sum(x*w)+b
    if tmp <= 0:
    	return 0
    else:
    	return 1

 

 

 

=> AND, NAND, OR 게이트는 모두 같은 구조의 퍼셉트론이고, 가중치 매개변수의 값만 다르다.

 

 

'신기술 > AI' 카테고리의 다른 글

[밑바닥딥러닝1] 5장 오차역전파법  (0) 2024.07.13
[밑바닥딥러닝1] 4장 신경망 학습 - 오차제곱합, 교차 엔트로피 오차  (0) 2024.06.23
[밑바닥딥러닝1] 3장 신경망 - 활성화함수(계단 함수, 시그모이드 함수, ReLU 함수)  (0) 2024.06.22
    '신기술/AI' 카테고리의 다른 글
    • [밑바닥딥러닝1] 5장 오차역전파법
    • [밑바닥딥러닝1] 4장 신경망 학습 - 오차제곱합, 교차 엔트로피 오차
    • [밑바닥딥러닝1] 3장 신경망 - 활성화함수(계단 함수, 시그모이드 함수, ReLU 함수)
    estherseo
    estherseo
    안녕하세요😀

    티스토리툴바