ãããã«ã¡ã¯ï¼ãããã¾@é£ã楽ããã¨ã³ã¸ãã¢ã§ãã
ãçªç¶ã§ãããçããæçµ¦ä¼æã¯æ´»ç¨ããã¦ãã¾ããï¼ç§ã¯å æ¥ãæ®ãï¼æ¥ãããªãæçµ¦ã使ã£ã¦æ°ã«ãªã£ã¦ããã©ã¼ã¡ã³åºããã·ã´ãã¦ãã¾ãã¾ããã(ï¾_-。) æ¬¡ã®æçµ¦ä»ä¸æ¥ã¾ã§ï¼ã¶æããã¾ããããã¨ã¦ãè²´éãã ãããããã£ããæ¶åãã¾ãã
ãï¼åºç®ã¯ãä»ä¸çªæ³¨ç®ãéã¾ã£ã¦ããJapanese Soba Noodles è¦ï¼ã¸ã£ããã¼ãºã½ããã¼ãã« ãã¿ï¼ã鏿ããã·ã¥ã©ã³ã®ä¸ã¤æãç²å¾ããã©ã¼ã¡ã³åºã¨è¨ãã°ãåãã®æ¹ãå¤ãã®ã§ã¯ãã©ã¼ã¡ã³åºãæãç²å¾ããã®ã¯å²ä¸åãåãã§ãããã
ãå¹³æ¥ã¨ããã©ããããã®æ··ã¿å
·åãå§çºã§åãã£ã¦å¤ãæãã¬ãã¡ããæ´çå¸ãããããååº¦ãæ¼ã«ããããã¾ããããåºã®æãéããç¬éãæäºã«æ¥ããã¨é¯è¦ããããã·ã®è¯ãé¦ããæ¼ãã¾ãã大çããè飯ä»ãã§ã餿²¹ã©ã¼ã¡ã³ã注æã
ãç·å¼µæãæ¼ãåºå
ãã¿ãªãããããããã¨é£ã¹ã¦ãã¾ããç§ãå¿èºãããªããå¾
ã¤äº10åããã£ã¦æ¥ã¾ããã

ãã©ã¼ã¡ã³ã«ã®ã£ã¦ããé»ããªã¥ãã¯ã¤ã³ãã¯ãããã¾ãããã飯ã«ã¯ããªã¥ããªã¤ã«ãããã£ã¦ããã®ããè¯ãé¦ãããã¾ããã¹ã¼ããã²ã¨ããå£ã«éã¶ã¨ããã£ãã餿²¹ãã¼ã¹ã®ãªãã«ãã·ã®å¥¥æ·±ããé ãã¦ãã¦è¤éãªå°è±¡ãåãã¾ãã麺ã¯ã³ã·ã¨æ¨å³ãããã¾ããå³ãããããã ãã§ã¯ãªãã飿ããå¨ããµã¼ãã¹ã«ããããã©ã¼ã¡ã³ã¨ããååã®ããã¢ã¼ã·ã§ã³ãé常ã«é·ãã¦ããæãããã¾ãã驿ã§ãã
ãããä¸åºã¯äºæã®ã¤ã麺ãéããã¡ããæååºã§ããããããã³ã°ããã®ã¨è¬å³ã ãã®ãç´ ã¤ã麺ãã®ã¡ãã¥ã¼ã«ã¯é©ãã¾ãããããã®æ½ããèªä¿¡ã®è¨¼ã§ãããããå®éã«ã¹ã¼ãã麺ã«ã¯é常ã«ãã ãããæãã¾ããã¹ã¼ãã®å¨ã温ãããã¦ããã®ãã¾ãå¬ããã§ãããããããå¹³æ¥ã®14æåã«è¡ã£ã¦ï¼æéå¾
ã¡ã¨ã¯ãã

æ¬¡ã®æçµ¦ä»ä¸æ¥ã®ããã«ããããããåºé¸ã³ãã¯ããããã¨ããã
ããã¦ãååã¯TensorFlowã使ã£ã深層å¦ç¿ã§ä½ãã§ããã®ããè¦ã¦ããã¾ãããç»åèªèãæ©æ¢°ç¿»è¨³ã®ã»ãã«ããå»è¬åéçºãéèãµã¼ãã¹ãããã«ã¯å²ç¢AIã®AlphaGoãªã©è²ã
ãªåéã§å©ç¨ãåºããDeep Learningããã®ããã°ã§ã¯å½é¢ãTensorFlowã®ãã¥ã¼ããªã¢ã«ããµã³ãã«ã³ã¼ãã顿ã«ãã¦ããäºå®ã§ãããã¥ã¼ããªã¢ã«ããã¾ãæ´»ç¨ããDeep Learningãæ°è»½ã«å©ç¨ã§ããã¬ãã«ã«ãªããã°æ¥½ãããã§ãããã
ä»åã¯TensorFlowã®ä»çµã¿ãPythonã®ã¨ã³ã·ã¹ãã ãå°ã追ã£ã¦ã¿ã¾ãããã
深層å¦ç¿ãããæ·±ãçè§£ããæ¸ç±ã»è¬åº§
ãæ¬é¡ã«å ¥ãåã«ã深層å¦ç¿ã®çè§£ãæ·±ããæ¸ç±ã»è¬åº§ãç´¹ä»ããã¦ãã ããã
æ¸ç±
åãã¦ã®ãã£ã¼ãã©ã¼ãã³ã° --ãªã¼ãã³ã½ã¼ã¹"Caffe"ã«ããæ¼ç¿ä»ã
- Deep Learningé¢é£ã®ç¥èãããããã¾ã¨ãããã¦ãã¾ã
- æ°å¼ãã»ã¨ãã©åºã¦ããªãã®ã§æ°æ¥½ã«èªãã¾ã
- ãã£ã¼ãã©ã¼ãã³ã°ã®å ¨ä½åã俯ç°ãããæ¹ã«ããããã§ã
- ã¿ã¤ãã«ããåããå°è±¡ã¨éããæ°å¼ãããããåºãæ¿ãå 容ã«ãªã£ã¦ãã¾ããããããçè«ããã£ããå¦ãã§ããããæ¹ã対象ã«ãã¦ãã¾ã
- å°ãã§ããChainerãTensorFlowãªã©ã®ãµã³ãã«ã³ã¼ããè¨è¼ããã¦ãã¾ã
ãããã2016å¹´2ææ«ã«åè¡ããã¦ãã¾ãã
Udacityã§ã®ç¡æè¬åº§
Deep Learningã®åºæ¬ãç¡æã§å¦ã¹ãè¬åº§ãè¬ç¾©ã®ä¸ã§ã¯TensorFlowãå©ç¨ããã¦ãã¾ãã
- Lesson 1: From Machine Learning to Deep Learning
- Lesson 2: Deep Neural Networks
- Lesson 3: Convolutional Neural Networks
- Lesson 4: Deep Models for Text and Sequences
TensorFlowãçè§£ãã5ã¤ã®è¦ç´
ãããã§ã¯æ¬é¡ã«å
¥ãã¾ããTensorFlowã®ä»çµã¿ãçè§£ããããã§ã以ä¸5ã¤ã®è¦ç´ ããããã¦ããã¾ãããã
ï¼. dataflow graphï¼ãã¼ã¿ããã¼ã»ã°ã©ãï¼
- tensorflowã®è¨ç®å¦çã¯ããã¼ãã®éåãããªãæå¹ã°ã©ãã«ãã£ã¦è¡¨ç¾ãã¾ã
- ãã種ã®nodeããç¶æ ã®ç¶æãæ´æ°ãåºæ¥ãããã«æ¡å¼µããã¦ãã¾ã
- åå²ãã«ã¼ããåºæ¥ãããã«ãæ¡å¼µããã¦ãã¾ã
ï¼. tensorï¼ãã³ã½ã«ï¼
- Tensorflowã¯ãã³ã½ã«ã¨ãããã¼ã¿æ§é ã§ãã¼ã¿ã表ç¾ãã¾ã
- ãã¼ã¿ããã¼ã°ã©ããæµããã®ããã³ã½ã«ã«ãªãã¾ã
- ä»»æã®æ¬¡å ãæã¤é åãè¥ããã¯ããªã¹ãã¨èãã¦åé¡ããã¾ãã
- æååãæ´æ°ãæµ®åå°æ°ç¹çãè²ã ãªåã®å¤ãæ ¼ç´ã§ãã¾ã
ï¼. node ( operation = op )ï¼ãã¼ãï¼
- 宿°ãæ¼ç®å¦çãå²ãå½ã¦ããã¾ã
- Tensorflowã§ã¯operationããããã¯ç¥ãã¦opã¨ãè¨ã
ï¼. edgeï¼ã¨ãã¸ï¼
- ãã¼ã¿ã®å ¥åã¨åºåã®æµãã表ãã¾ã
- å ·ä½çã«ã¯ããã¼ãéãéããã³ã½ã«ã®æµãã表ãã¾ã
ï¼. sessionï¼ã»ãã·ã§ã³ï¼
- ãã¼ã¿ããã¼ã°ã©ãã§è¨ç®ãå®è¡ããããã«ãã¾ããã»ãã·ã§ã³ã¯ã©ã¹ãã¤ã³ã¹ã¿ã³ã¹åãã¦å©ç¨ãããã¨ã§ãtensorflowã®ã·ã¹ãã ã¨æ å ±ãããåãã§ããããã«ãªãã¾ã
- ããã¦ãrunã¡ã½ãããå®è¡ãã¾ããrunãããã¾ã§ããã¼ã¿ããã¼ã°ã©ãã®æ¼ç®å¦çã¯å®è¡ããã¾ãã
ãµã³ãã«ã³ã¼ããããã¼ã¿ããã¼ã»ã°ã©ãã®ä½æãæ¼ç®ã®å®è£ æ¹æ³ãèªã¿è§£ã
ãè¦ç´ ãçè§£ããã¨ããã§ãTensorFlowã®æ§é ãããã£ã¦ããã¾ãã以ä¸ã¯GitHubã«ãããµã³ãã«ã³ã¼ããTry your first TensorFlow programããã®å¼ç¨ã§ããTry your first TensorFlow programï¼Tensorã®æ§é ãçè§£ãã
$ python >>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() >>> sess.run(hello) Hello, TensorFlow! >>> a = tf.constant(10) >>> b = tf.constant(32) >>> sess.run(a+b) 42 >>
ããã®ãµã³ãã«ã³ã¼ãã¯TensorFlowã®ã©ã¤ãã©ãªã¼ãå©ç¨ãã¦ã次ã®2ç¹ãè¡ã£ã¦ãã¾ãã
- ãHello, TensorFlow!ãæåå宿°ã夿°ã«ä»£å ¥ãã¦å®è¡
- ã10 + 32 = 42ãã®è¨ç®ãå®è¡
ãä¸è¨2ç¹ãå°ãæ·±å ããã¦ãçè§£ãæ·±ãã¦ã¿ã¾ãããã
ã¾ã1.ã§ã¯ constantã§æåå宿°ã®opã使ãã¦ãã¾ããopã¯ããã³ã½ã«ã¨ãã¦ã®ãã¼ã¿ãä¿æããããã©ã«ãã®ã°ã©ãã¸nodeã¨ãã¦å ãããã¾ããããã§ãhelloã®ä¸ãè¦ã¦ã¿ãã¨opã«ç´ä»ããTensorãªãã¸ã§ã¯ããªã®ãåããã¾ããã
>>> hello <tensorflow.python.framework.ops.Tensor object at 0x7f51a8b800d0>
ä¸ã®ããã«æ¸ãæããã¨ãstringåã®å¤æ°ã«ä»£å ¥ãããã¨ã«ãªãã¾ãã
hello = 'Hello, TensorFlow!'
ãã°ã©ãæ¼ç®ãããå¿
è¦ããªããã°ãã®ããã«ããã°ã©ãã³ã°ãã¾ãã
ããã¼ã¿ããã¼ã°ã©ãã®ä½æã¯ã§ããã®ã§ã°ã©ãæ¼ç®ãå®è¡ãã¾ããã°ã©ãæ¼ç®ãå®è¡ããã«ã¯Sessionã¯ã©ã¹ãã¤ã³ã¹ã¿ã³ã¹åãããªãã¸ã§ã¯ãã®runã¡ã½ãããå®è¡ããå¿
è¦ãããã¾ãã
ãã®ã¨ããæ±ããããã³ã½ã«ã弿°ã«æ¸¡ãã¦ãã¾ããã
ããã¦2.ã§ããã
>>> sess.run(a+b)
ããã¯
>>> y = tf.add(a, b) >>> sess.run(y)
ã¨åããã¨ã§ããã
ãã¼ã¿ããã¼ã°ã©ããæãã¨ä¸è¨ã®ã¨ããã«ãªãã¨æãã¾ãã

ããã¨ãå
ã»ã©ã®yã®ä¸ãè¦ã¦ãæ¯ã¹ã¦ã¿ã¾ãããã
>>> print y Tensor("Add:0", shape=TensorShape([]), dtype=int32)
ããã³ã½ã«ã次å
ã®åä½(rank)ãå½¢ç¶(shape)ãéçãªå(type)ã§æ§æããã¦ããã®ãè¦ãã¦ãã¾ããã
ãããã§ã¯æ¬¡ã«Introductionãè¦ã¦ã¿ã¾ãããã
TensorFlow Introduction ï¼ã°ã©ãæ¼ç®å®è£ ã®æµããç¥ã
import tensorflow as tf import numpy as np # Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3 x_data = np.random.rand(100).astype(np.float32) y_data = x_data * 0.1 + 0.3 # Try to find values for W and b that compute y_data = W * x_data + b # (We know that W should be 0.1 and b 0.3, but Tensorflow will # figure that out for us.) W = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) b = tf.Variable(tf.zeros([1])) y = W * x_data + b # Minimize the mean squared errors. loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) # Before starting, initialize the variables. We will 'run' this first. init = tf.initialize_all_variables() # Launch the graph. sess = tf.Session() sess.run(init) # Fit the line. for step in xrange(201): sess.run(train) if step % 20 == 0: print(step, sess.run(W), sess.run(b)) # Learns best fit is W: [0.1], b: [0.3]
ãææ¥é䏿³ã¨ããã¢ã«ã´ãªãºã ãå©ç¨ãããæé©ååé¡ã®ï¼ã¤ã§ãããã®ãµã³ãã«ã³ã¼ãã§ã¯ãyã¨y_dataã®å¹³åäºä¹èª¤å·®lossãæå°ã«ããããå¦ç¿ãã¦ãã¾ãããã®éãï¼åå¦ç¿ããï¼sess.run(train)ï¼ãã¨ã«ããã®æã®æ±ãããå¤ï¼ sess.run(W), sess.run(b)ï¼ã表示ãã¦ããã®ã§ããããã®ããã«TensorFlowã§ã¯ãæé©ååé¡ãæ±ãããã®ã¯ã©ã¹ãè²ã
æã£ã¦ãã¾ãã
ä¸è¨ã³ã¼ãã«å¯¾å¿ãããã¼ã¿ããã¼ã°ã©ãã¯

ãã®å¦çã®æµããåç´åãã¦ã¿ãã¨
- ï¼ä½ãããã®å¦ç¿ã¢ã«ã´ãªãºã ï¼
- init = tf.initialize_all_variables()
- sess = tf.Session()
- sess.run(init)
- sess.run(train) â»ãã®å¦ç¿ãç¹°ãè¿ã
深層å¦ç¿ã«å¿ é ãªã¢ã¸ã¥ã¼ã«NumPy
ãå ã»ã©ã®ãµã³ãã«ã³ã¼ãã§åºã¦ããNumPyã®ç¹å¾´ã¨ã¡ãªãããè¦ã¦ã¿ã¾ããããNumPyã¨ã¯
- Pythonã®æ¡å¼µã¢ã¸ã¥ã¼ã«
- SciPy(Pythonã®æ°å¦ã»ç§å¦ã»å·¥å¦ã¢ã¸ã¥ã¼ã«é¡ãã¾ã¨ããããã±ã¼ã¸)ã®ãã¡ã®1ã¤
- ãã¯ãã«ãè¡åãç»åãªã©ã表ç¾ããããã®é åãªãã¸ã§ã¯ããç·å½¢ä»£æ°ã®é¢æ°ãªã©åãã£ã¦ãã
NumPyã使ãã¡ãªãã
- Cè¨èªã§å®è£ ããã¦ããé«éæ°å¤æ¼ç®ã«åã
- ãã¼ã¿ãä¸»è¨æ¶ä¸ã§é£ç¶ããé åã«æ ¼ç´ãããããCPUãµã¤ã¯ã«ã¨ãã£ãã·ã¥ãå¹çè¯ã使ãã
ãæ·±å±¤å¦ç¿ã¯ã²ãããè¡åã®è¨ç®ãç¹°ãè¿ãã¾ããã§ãããè¡åè¨ç®ãé«éå¦çã§ãããã¨ã¯ãããã¦éè¦ã§ããæ·±å±¤å¦ç¿ã§ã¯NumPyã©ã¤ãã©ãªã¼ã大ãã«ä½¿ã£ã¦ããã¾ãããã
ç ©éãªPythonã¨ã³ã·ã¹ãã ãæ´çãã
ããã»ã©ç´¹ä»ããNumPyãªã©ç§å¦è¨ç®ã®ã¢ã¸ã¥ã¼ã«ãè±å¯ã«ãããPythonãæ°ãå¤ãåé¢ãã©ã®ã¢ã¸ã¥ã¼ã«ã使ãã°ããã®ãæ··ä¹±ããã¡ã§ããç§å¦è¨ç®ãã¼ã«ã¨ãã¦ã®Pythonãã¼ã¹ã®ã¨ã³ã·ã¹ãã ãSciPy(Scientific Pythonã®ç¥)ã¨è¨ãã¾ããããã§ã¯SciPyã³ã¢ããã±ã¼ã¸ãæ´çãã¦ã¿ã¾ãã![]() |
[Numpy] 夿¬¡å é åã®ããã±ã¼ã¸ |
|---|---|
![]() |
[SciPy library] ç§å¦è¨ç®ç¨ã®åºæ¬çãªã©ã¤ãã©ãª |
![]() |
[Matplotlib] 2æ¬¡å æç» |
![]() |
[IPython] 髿©è½ãªå¯¾è©±å¼ã®ã³ã³ã½ã¼ã« |
![]() |
[Sympy] è¨å·æ°å¦ |
![]() |
[pandas] ãã¼ã¿æ§é ã¨åæ |
ç§å¦è¨ç®ç°å¢ã¨ãã¦ã®Pythonã®æ´å²ãè¦ã¦ã¿ã¾ãããã
ã1990年代å¾åããPythonã§æ°å¤ãã¼ã¿ãæ±ãããã®ãã¼ã«ãæ§ç¯ããã¯ããã¾ããã彿éçºãããNumericãçºå±ãããã®ãNumPyããã®NumPyã®ä¸ã«æ§ç¯ãããã®ãæ°å¤è¨ç®ã¢ã«ã´ãªãºã ãå®è£
ããSciPyã§ãã
ã2000年代åé ã«ã¯ç§å¦æè¡ç¨ã®ã°ã©ãæç»ã©ã¤ãã©ãªã¨ãã¦Matplotibã対話åã·ã§ã«IPythonãç¶ãã¦éçºããã¾ãããããã«2000年代å¾åã«ãªãã¨ãã¼ã¿è§£æã©ã¤ãã©ãªã®pandasãè¨å·å¦çç¨ã©ã¤ãã©ãªã®Sympyãéçºããã¦ãã¾ãã
ãæ©æ¢°å¦ç¿ã®ï¼ã¤ã§ããæ·±å±¤å¦ç¿ã¯ä¸»ã«NumPyãå©ç¨ãã¾ããããããæ©æ¢°å¦ç¿å
¨è¬ã¨ãªãã¨ã¨ã³ã·ã¹ãã ã®å¤ãã®ã¢ã¸ã¥ã¼ã«ã使ããã¨ã«ãªãã¾ãããããæ··ä¹±ãããããªãã¨ãããã°ããã®æ¦è¦ãæãåºãã¦æ´çããã¨è¯ãããããã¾ãããæ
£ããªãæ¹ã«ã¯ç
©éã§ã¯ããã¾ãããå
å®ããã¨ã³ã·ã¹ãã ãããã®ã¯Pythonã®å¼·ã¿ã§ãã
ãããã«
ãããµã³ãã«ã³ã¼ãã使ã£ã¦TensorFlowã®ä»çµã¿ãè¦ã¦ããã¾ããããã¼ã¿ããã¼ã»ã°ã©ãã«é¢ãã¦ä½ãæ°ã¥ãããã£ãæ¹ããä¸äººã§ããã¾ãããå¬ããéãã§ãã
åèæ¸ç±
[1] IPythonãã¼ã¿ãµã¤ã¨ã³ã¹ã¯ãã¯ãã㯠(ãªã©ã¤ãªã¼ã¸ã£ãã³)
TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.
ãç¥ãã
ãããªã³ã§ã¯ä¸ç·ã«åã仲éãåéãã¦ãã¾ãã






