Wind Farm Presentation
Wind Farm Presentation
<https://wall.alphacoders.com/big.php?i=526859>
Wind Farm Power Estimation Task
2
Wind Farm Power Estimation Task
3
Wind Farm Power Estimation Task
4
Wind Farm and Its Graph Representation
𝒢 = (𝑁, 𝐸, 𝑔)
Wind direction 1
Node features 𝑁 = 𝑓𝑟𝑒𝑒 𝑓𝑙𝑜𝑤 𝑤𝑖𝑛𝑑 𝑠𝑝𝑒𝑒𝑑 ∀𝑖 ∈ 𝑡𝑢𝑟𝑏𝑖𝑛𝑒 𝑖𝑛𝑑𝑒𝑥
5
Details on Edge Features
𝒢 = (𝑁, 𝐸, 𝑔)
the down−stream wake distance 𝑑,
Edge features 𝐸 =
the radial−wake distance 𝑟 ∀ 𝑖,𝑗 ∗
Wind direction 1
6
Neural Network in EXTREMELY High Level View
𝑦
𝑦ො = 𝑁𝑒𝑢𝑟𝑎𝑙𝑁𝑒𝑡𝑤𝑜𝑟𝑘(𝑥; 𝜽)
Input data
7
Why Graph Representation?
𝒢 = (𝑁, 𝐸, 𝑔)
vs.
X coord. Y coord.
Wind direction 1
T0 850 713
#. Turbines
T1 303 587
T2 569 775
T3 642 290
T4 217 97
8
Why Graph Representation?
9
Spatial/Temporal Adjacency does not imply ‘related’
10
Graph Neural Network
𝒢𝑦 = 𝐺𝑟𝑎𝑝ℎ𝑁𝑒𝑢𝑟𝑎𝑙𝑁𝑒𝑡𝑤𝑜𝑟𝑘 (𝒢𝑥 ; 𝜃)
𝑥0 𝑦0
0 𝑦1 0
𝑥1
1 1
𝑥4 𝑦4
4 4
𝑥2 2 𝑦2 2
𝑥3 𝑦3
3 3
11
Imposing Relational Inductive Bias
𝑒0,1 𝑒′0,1 0
𝑛1 0
1 1
4 4
2 2
3 3
Input Graph Updated Graph
12
Imposing Relational Inductive Bias
𝑒′0,1 0
0
𝑓 ∙ 1
1 𝑒0,4 𝑒′0,4
𝑛4 4
4
2 2
3 3
Input Graph Updated Graph
13
Imposing Relational Inductive Bias
0 0
1 1
4 4
2 2
3 3
Input Graph Updated Graph
14
Imposing Relational Inductive Bias
0 0
𝑛1 𝑛′1
1 𝑔 ∙ 1
𝑒1,4
𝑒1,2 4 4
2 2
3 3
Input Graph Updated Graph
15
Imposing Relational Inductive Bias
1 𝑒0,2 𝑒0,4 1
𝑒1,2 4 4
2 2
3 3
Input Graph Updated Graph
16
Physics-induced Graph Neural Network On Wind Power Estimations
17
GN (Graph Neural) Block
Update graph 𝒢′
Input graph 𝒢
18
GN Block – Edge update steps
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔
Input graph 𝒢
Update edge features with 𝑓(𝐸𝑑𝑔𝑒 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑅𝑒𝑐𝑖𝑒𝑣𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑆𝑒𝑛𝑑𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑔; 𝜃0 )
19
GN Block – Edge update steps
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔
Input graph 𝒢
Update edge features with 𝑓(𝐸𝑑𝑔𝑒 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑅𝑒𝑐𝑖𝑒𝑣𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑆𝑒𝑛𝑑𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑔; 𝜃0 )
20
GN Block – Edge update steps
𝑁𝑜𝑑𝑒0 features
𝑁0
𝐸𝑑𝑔𝑒0,1 0 features
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔
Update edge features with 𝑓(𝐸𝑑𝑔𝑒 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑅𝑒𝑐𝑖𝑒𝑣𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑆𝑒𝑛𝑑𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑔; 𝜃0 )
21
GN Block – Node update steps
𝑁𝑜𝑑𝑒 ′ 0 = 𝑓(𝐸𝑑𝑔𝑒0 ; 𝜃1 )
𝐸𝑑𝑔𝑒0 = mean concat(𝐸𝑑𝑔𝑒0,𝑖 , 𝑁𝑜𝑑𝑒1 , 𝑁𝑜𝑑𝑒𝑖 )
𝑁𝑜𝑑𝑒0 features
∀𝑖 𝑖𝑛𝑐𝑜𝑚𝑖𝑛𝑔 𝑒𝑑𝑔𝑒𝑠
𝑁0
𝑁0
𝐸𝑑𝑔𝑒0,1 0 features
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔 𝑔
Aggregation function: any function obeys ‘input-order invariant’ and ‘input-number invariant’ properties.
e.g., Mean, Max, Min, etc.
22
GN Block – Node update steps
𝑁𝑜𝑑𝑒0 features
𝑁0
𝑁0
𝐸𝑑𝑔𝑒0,1 0 features
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔 𝑔
23
GN Block – Global feature update
𝑁𝑜𝑑𝑒0 features
𝑁0
𝑁0
𝐸𝑑𝑔𝑒0,1 0 features
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔 𝑔′
24
Revisit Aggregation Method
𝑁𝑜𝑑𝑒 ′ 0 = 𝑓(𝐸𝑑𝑔𝑒0 ; 𝜃1 )
𝐸𝑑𝑔𝑒0 = mean concat(𝐸𝑑𝑔𝑒0,𝑖 , 𝑁𝑜𝑑𝑒1 , 𝑁𝑜𝑑𝑒𝑖 )
𝑁𝑜𝑑𝑒0 features
∀𝑖 𝑖𝑛𝑐𝑜𝑚𝑖𝑛𝑔 𝑒𝑑𝑔𝑒𝑠
𝑁0
𝑁0
𝐸𝑑𝑔𝑒0,1 0 features
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔 𝑔
Aggregation function: any function obeys ‘input-order invariant’ and ‘input-number invariant’ properties.
e.g., Mean, Max, Min, etc.
25
Weighted “__” ≈ Attention (in Deep Learning)
Figure source <Agile Amulet: Real-Time Salient Object Detection with Contextual Attention>
26
Consider weighted Aggregations
Figure source <Left: https://www.youtube.com/watch?v=HHlN0TDgllE> , <Right: VAIN: Attentional Multi-agent Predictive Modeling>
27
How can we get the weights?
Learn to weight!
28
GN Block – Edge update steps Revisit
𝑁1
𝑁4
𝑁2
Global features
𝑁3
𝑔 𝑔
Input graph 𝒢
Update edge features with 𝑓(𝐸𝑑𝑔𝑒 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑅𝑒𝑐𝑖𝑒𝑣𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑆𝑒𝑛𝑑𝑒𝑟 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠, 𝑔; 𝜃0 )
29
Physics-induced Attention
JK park, and K.H. law suggest the continuous deficit factor δu(d, r, α) as
𝑅0 2 𝑟 2
δu d, r = 2α exp −
𝑅0 +𝜅𝑑 𝑅0 +𝜅𝑑
𝑅0 : 𝑅𝑜𝑡𝑜𝑟 𝑑𝑖𝑎𝑚𝑒𝑡𝑒𝑟
𝑑: Down−stream wake distance
𝑟: 𝑅𝑎𝑑𝑖𝑎𝑙 𝑤𝑎𝑘𝑒 − 𝑑𝑖𝑠𝑡𝑛𝑎𝑛𝑐𝑒
𝛼, 𝜅: 𝑇𝑢𝑛𝑎𝑏𝑙𝑒 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟𝑠
Figure source <Cooperative wind turbine control for maximizing wind farm power using sequential convex programming by Jinkyoo Park, Kincho H.Law >
30
Physics-induced Attention
𝑅0 2 𝑟 2
δu d, r = 2α exp −
𝑅0 +𝜅𝑑 𝑅0 +𝜅𝑑
δu d, r indicates
‘How much the down stream turbine get affected
Due to the upstream turbines’
→ Weighting Factor 𝑊!
Figure source <Cooperative wind turbine control for maximizing wind farm power using sequential convex programming by Jinkyoo Park, Kincho H.Law >
31
Physics-induced Attention
𝑁2
𝑓(𝑟, 𝑑; 𝛼, 𝜅, 𝑅0 )
Global features 2 2
𝑅0 𝑟
𝑁3
𝑔 = 2α exp −
𝑔 𝑅0 + 𝜅𝑑 𝑅0 + 𝜅𝑑
Input graph 𝒢
32
Physics-induced Graph Neural Network On Wind Power Estimations
33
Physics-induced Graph Neural Network On Wind Power Estimations
34
Graph Dense Layer
𝑁′0 𝑃0
𝑃1
Prediction
𝑓(∙: 𝜃5 ) 𝑃4
network
𝑃2
𝑔′ 𝑃3
35
Graph Dense Layer
𝑃0 = 𝑓(𝑁 ′ 0 ; 𝜃5 )
𝑁′0
𝑃0
𝑁1′
𝑁4′
𝑁2′
𝑔′
𝑁5′
36
Graph Dense Layer
𝑃0 = 𝑓(𝑁 ′ 0 ; 𝜃5 )
𝑁′0
𝑃0
𝑃1
𝑃4
𝑃2
𝑔′
𝑃3
37
Graph Dense Layer
𝑃0 = 𝑓(𝑁 ′ 0 ; 𝜃5 )
𝑁′0
𝑃0
𝑃1
𝑃4
𝑃2
𝑔′
𝑃3
38
How to train your PGNN
𝑃
2
𝑃
𝑃0
𝑃0
𝑃1 𝑃1
𝑃4 𝑃4
𝑃2 𝑃2
𝑃3 𝑃3
39
Lovely but Dreadful Exponential functions
𝑓 𝑥 = exp(𝑥)
40
Simple approximation for exponential functions
∞
𝑥𝑘
exp 𝑥 ≔
𝑘!
𝑘=0
D
𝑥𝑘
≈
𝑘!
𝑘=0
We set D = 5
41
Bottom side of power-series approximation
Question?
“why don’t you use Taylor's expansion?”
Answer:
“You may encounter exponential again!”
42
Scale-only normalization
Instead of using raw the down stream distance 𝑑, and the radial wake distance 𝑟 as inputs,
𝑑 𝑑
𝑑 ′ = 𝜎(𝑑) × max(0, 𝑠𝑑 ) 𝑟 ′ = 𝜎(𝑟) × max(0, 𝑠𝑟 )
43
Dissect Scale-only normalization
Instead of using raw the down stream distance 𝑑, and the radial wake distance 𝑟 as inputs,
(1) (2)
𝑑
𝑑 ′ = 𝜎(𝑑) × max(0, 𝑠𝑑 )
(4)
(3)
downstream-wake Normalized d
distance d
Scale- 𝐴𝑝𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑡𝑒𝑑
Weight 𝑤
norm f𝑤 (∙ ; 𝜃3 )
radial-wake Normalized r
distance r
45
Training Procedure
MSE
𝑃0 𝑃1
𝑃2 𝑃 𝑃
𝑃4
Wind speed S 𝑃3
Wind direction
𝜃
46
Generalization Tests
Wind
direction 𝜃
47
Generalization Over Environmental Factors
Wind speed = 8.0 m/s
49
Qualitative Analysis on Physics-induced Bias
𝑊4,1 = 𝑓(𝑖𝑛𝑝𝑢𝑡𝑠; 𝜃3 )
𝐸𝑑𝑔𝑒 ′ 4,1 = 𝑊4,1 × 𝑓(𝐸𝑑𝑔𝑒4,1 𝑁𝑜𝑑𝑒4 , 𝑁𝑜𝑑𝑒1 , 𝑔; 𝜃0 )
DGNN
𝑓 is another neural network
𝑓(𝑖𝑛𝑝𝑢𝑡𝑠; 𝜃3 )
PGNN
𝑔 𝑓(𝑟, 𝑑; 𝛼, 𝜅, 𝑅0 )
2 2
𝑅0 𝑟
= 2α exp −
𝑅0 + 𝜅𝑑 𝑅0 + 𝜅𝑑
50
Qualitative Analysis on Physics-induced Bias
Out-of-distribution
Training data
PGNN achieved 11% smaller validation error than DGNN
51
Case Study on Inferred Weights
52
Case Study on a Regularized Grid Layout
53
Anyway the wind blows
Junyoung Park
SYSTEMS INTELLIGENCE Lab
Industrial and Systems Engineering (ISysE)
<https://wall.alphacoders.com/big.php?i=526859>
Normalizing powers
55